> For the complete documentation index, see [llms.txt](https://docs.devolutions.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.devolutions.net/powershell-universal/es/aplicaciones/building-dashboards.md).

# Aplicaciones

## Crear una aplicación

El primer paso es crear una aplicación en PowerShell Universal. Este es el contenedor de todas las páginas y componentes del sitio web de su aplicación. Recomendamos ejecutar las aplicaciones en entornos externos, como PowerShell 7, para garantizar que estén aisladas del resto del servidor. Para crear una aplicación, haga clic en Apps \ Apps y luego en Create New App.

Deberá proporcionar un nombre y una URL únicos para la aplicación al crearla. Todas las demás propiedades son opcionales. Después de crear la aplicación, puede editar su código. Por ejemplo, pruebe a añadir un componente a su aplicación.

```powershell
New-UDApp -Content {
   New-UDButton -Text 'Click Me' -OnClick {
       Show-UDToast "Ouch!"
   }
}
```

Una vez que haya guardado su aplicación, puede hacer clic en el icono del globo terráqueo para ver el resultado. Al hacer clic en el botón se mostrará un mensaje toast en su navegador.

## New-UDApp

El cmdlet de nivel superior para los dashboards es `New-UDApp`. Debe llamarlo al devolver una aplicación. Puede usarlo con o sin páginas.

#### Contenido

El contenido de la aplicación es una serie de componentes que se muestran en la página. Es un bloque de script que devolverá todos los componentes en el orden en que se renderizarán en la página. Puede usar el componente Grid para organizar los elementos y mostrar cosas como texto con tipografía.

```powershell
New-UDApp -Title 'My New Dashboard' -Content {
    New-UDTypography -Text 'Hello!'
}
```

## Personalización del encabezado

Puede personalizar el encabezado de la aplicación mediante varios parámetros.

### Posición <a href="#position" id="position"></a>

Use el parámetro `-HeaderPosition` para ajustar el comportamiento del encabezado.

* absolute\fixed - Permanece en la parte superior de la página, incluso al desplazarse
* relative - Permanece en la parte superior de la página. No es visible al desplazarse.

```powershell
New-UDApp -HeaderPosition fixed -Content {
    New-UDElement -tag div -Attributes @{
        style = @{
            height = '150vh'
        }
    }
}
```

### Colores

Puede ajustar los colores del encabezado especificando los parámetros `-HeaderColor` y `-HeaderBackgroundColor`. Estos colores anularán los colores del tema.

```powershell
New-UDApp -Content {
} -HeaderColor 'black' -HeaderBackgroundColor 'white'
```

### Contenido

Puede definir contenido personalizado para incluir en el encabezado mediante el parámetro `-HeaderContent`.

```powershell
New-UDApp -Content {

} -HeaderContent {
    New-UDButton -Icon (New-UDIcon -Icon Users) -Text 'User'
}
```

### Desactivar el conmutador de tema

Puede eliminar el conmutador de tema con `-DisableThemeToggle`.

```powershell
New-UDApp -Content {} -DisableThemeToggle
```

### Logotipo

Puede cambiar la imagen del logotipo proporcionando una URL al parámetro `-Logo`.

```powershell
New-UDApp -Content {} -Logo '/logo.png'
```

### Navegación

Para cambiar el diseño de la navegación, use los parámetros `-Navigation` y `-NavigationLayout`.

```powershell
New-UDApp -Content {
} -Navigation (
    New-UDList -Children {
        New-UDListItem -Label "Home"
        New-UDListItem -Label "Getting Started" -Children {
            New-UDListItem -Label "Installation" -OnClick {}
            New-UDListItem -Label "Usage" -OnClick {}
            New-UDListItem -Label "FAQs" -OnClick {}
            New-UDListItem -Label "System Requirements" -OnClick {}
            New-UDListItem -Label "Purchasing" -OnClick {}
        }
    }
) -NavigationLayout permanent
```

## Componentes

Los componentes son los widgets individuales que puede colocar en su aplicación. Hay componentes para mostrar datos, recibir entradas del usuario, añadir texto e imágenes y mucho más. Los componentes se pueden descargar como módulos de PowerShell y añadirse a su aplicación.

Los componentes se invocan usando la sintaxis estándar verbo-nombre de cualquier cmdlet de PowerShell.

```powershell
New-UDPage -Content {
    New-UDTextbox
}
```

Más información sobre [los componentes aquí](/powershell-universal/es/aplicaciones/components.md).

## Páginas

Puede especificar varias páginas dentro de una aplicación. Cada página define una ruta. A partir de la v3, todas las páginas son dinámicas. PowerShell se ejecutará en cada carga de página para renderizar la nueva página. Dado que UD es una aplicación de una sola página, el navegador web no necesita actualizar toda la página web al navegar entre las diferentes páginas de la aplicación.

```powershell
$Pages = @()
$Pages += New-UDPage -Name 'My Home Page' -Content {}
$Pages += New-UDPage -Name 'Diagnostics' -Content {}
New-UDApp -Pages $Pages -Title 'Dashboard'
```

Más información sobre [las páginas aquí](/powershell-universal/es/aplicaciones/components/pages.md).

## Módulo

Las aplicaciones tendrán acceso automáticamente a cualquier comando disponible dentro de PSModulePath, así como a los módulos que cargue directamente en la propia aplicación. Dicho esto, también puede definir funciones dentro de la propia aplicación. Estas funciones se incluirán en un módulo que se almacena junto al código de su aplicación. Cualquier función definida en este fichero se incluirá automáticamente en su aplicación.

Dentro de la consola de administración de PowerShell Universal, defina funciones, variables y alias en la pestaña Module. Cualquier función definida se escribirá en un fichero `PSM1` en el mismo directorio que el código de la aplicación.

<figure><img src="/files/YUwh4clMKfHUgxENcAo7" alt=""><figcaption><p>Pestaña Module</p></figcaption></figure>

## Variables integradas

Las variables integradas se pueden encontrar en la [página de variables](/powershell-universal/es/plataforma/variables.md#apps).

## Depuración

{% hint style="info" %}
También puede usar las [herramientas de depuración](/powershell-universal/es/desarrollo/debugging-scripts.md#integrated-debugger) con las aplicaciones.
{% endhint %}

Al crear una aplicación, probablemente se encuentre con problemas con las llamadas a cmdlets o con la sintaxis. Las aplicaciones se recargarán automáticamente a medida que realice cambios en los ficheros de la aplicación. Si una aplicación no se inicia, puede ir a la página de administración, hacer clic en Apps y luego en el botón Info junto a su aplicación.

La pestaña Log mostrará todo el registro procedente de la ejecución de PowerShell dentro de su aplicación. Esto debería permitirle ver fácilmente los errores y advertencias procedentes de su aplicación.

Puede usar `Write-Debug` para añadir mensajes de registro adicionales a su aplicación. Para habilitar el registro de depuración, deberá establecer la variable `$DebugPreference` en la parte superior del script de su aplicación.

```powershell
$DebugPreference = 'Continue'
```

## Menú

Puede personalizar el menú de la aplicación mediante el parámetro `-Menu`.

```powershell
New-UDApp -Title 'App' -Content {

} -Menu {
    New-UDMenuItem -Text 'Profile' -OnClick {
        Show-UDModal -Content {
            New-UDTypography -Text 'Welcome to your profile!'
        }
    }
}
```

## Iniciar y detener aplicaciones

De forma similar a los trabajos, las aplicaciones pueden ejecutarse en procesos de PowerShell separados. Puede iniciar y detener un proceso de aplicación haciendo clic en el botón Start o Stop de la página Apps.

## Runspaces persistentes

Los runspaces persistentes le permiten mantener el estado del runspace dentro de los controladores de eventos de su aplicación. Esto es importante para los usuarios que realizan algún tipo de inicialización dentro de sus endpoints y no desean que se ejecute en las llamadas posteriores.

De forma predeterminada, los runspaces se restablecerán después de cada ejecución. Esto afectará a las variables, módulos y funciones definidos durante la ejecución de un endpoint.

Para habilitar los runspaces persistentes, deberá configurar un [entorno ](/powershell-universal/es/config/environments.md)para su API. Establezca el parámetro `-PersistentRunspace` para habilitar esta función. Esto se configura en el script `environments.ps1`.

```
New-PSUEnvironment -Name 'Env' -Path 'powershell.exe' -PersistentRunspace
```

Deberá asegurarse de que la aplicación utilice el entorno.

## Conceder tokens de aplicación automáticamente

Puede conceder automáticamente tokens de aplicación a los usuarios que visitan las aplicaciones. Esto es útil si desea invocar la API de administración de PowerShell Universal desde dentro de una aplicación. Su aplicación deberá tener la autenticación habilitada y tendrá que usar el parámetro de conmutador `-GrantAppToken` en `New-PSUDashboard`.

```
New-PSUApp -Name 'App' -BaseUrl '/' -Authenticated -GrantAppToken
```

Desde dentro de su aplicación, ahora puede invocar la API de administración sin tener que preocuparse por la gestión de tokens de aplicación. La API se invocará en el contexto del usuario que está visitando la aplicación.

```powershell
New-UDApp -Title "Hello, World!" -Content {
    New-UDButton -Text 'Job' -OnClick {
        Invoke-UAScript -Name 'Test.ps1'
    }
}
```

## Desactivar los mensajes toast de error

De forma predeterminada, las aplicaciones mostrarán un mensaje toast cuando se genere un error dentro de un script de endpoint. Para evitar este comportamiento, puede usar el parámetro `-DisableErrorToast` de `New-UDApp`

```powershell
New-PSUApp -Name 'App' -BaseUrl '/' -Authenticated -DisableErrorToast
```

```powershell
New-UDApp -Title "Hello, World!" -Content {
    New-UDButton -Text 'Job' -OnClick {
        throw "Exception
    }
} 
```

## Desactivar el registro de inicio

Al iniciar una aplicación, la información sobre las variables y los módulos se muestra en el registro de la aplicación. Si desea suprimir esta información, puede usar el parámetro `-DisableStartupLogging`.

```powershell
New-PSUApp -Name 'App' -BaseUrl '/' -DisableStartupLogging
```

## Aplicaciones críticas

Las aplicaciones críticas, definidas mediante el parámetro `-Critical`, son aplicaciones que harán que el endpoint de estado del balanceador de carga devuelva un código de respuesta 500 si la aplicación no se está ejecutando. El endpoint de estado del balanceador de carga es `/api/v1/status` .

```powershell
New-PSUApp -Name 'App' -BaseUrl '/' -DisableStartupLogging
```

#### Véase también

* [Devolutions Academy – Server side data tables](https://academy.devolutions.net/student/page/3466033-server-side-data-tables?curriculum_activity_id=5612259\&path_id=3465905\&sid=aa0a98ab-11ef-4ae6-83f0-e28f268d8343\&sid_i=0)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.devolutions.net/powershell-universal/es/aplicaciones/building-dashboards.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
