> 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/config/login-page.md).

# Personalización de marca

Personalice el branding de PowerShell Universal con ejemplos para páginas de inicio de sesión, logotipos, colores, hojas de estilos, títulos del portal y mensajes de error.

{% hint style="info" %}
La personalización del branding requiere una [licencia](https://store.devolutions.net/package#psu).
{% endhint %}

El branding controla la apariencia y el texto de la página de inicio de sesión integrada, la consola de administración, el portal y determinadas páginas de error de PowerShell Universal. Use **Configuración > Branding** o el archivo `.universal\branding.ps1` del repositorio de configuración. Actualice el navegador después de guardar; algunas imágenes, estilos y títulos se cargan al abrir la página.

El branding no es un tema de Material UI para toda la aplicación. Para aplicar estilos a los componentes dentro de una aplicación, use los [temas de la aplicación](/powershell-universal/es/aplicaciones/themes.md).

## Elegir cómo configurar el branding

En **Configuración > Branding**, use las pestañas **Texto**, **Colores**, **Imágenes** y **Página de inicio de sesión** y, a continuación, seleccione **Guardar**. Las tablas siguientes usan nombres de parámetros de PowerShell para que pueda asignar cada ejemplo a la configuración correspondiente. Actualizar el branding requiere el permiso `settings.branding/update`.

Para la configuración como código, mantenga una sola definición de branding en `.universal\branding.ps1`. `New-PSUBranding` y `New-PSULoginPage` son alias de `Set-PSUBranding`. En un fichero de configuración, producen el objeto de branding que carga PSU. Fuera de la carga de la configuración, el cmdlet aplica el objeto al servidor conectado y lo devuelve.

{% hint style="warning" %}
Una llamada al cmdlet de branding reemplaza la definición de branding; no combina solo los parámetros indicados. Las cadenas omitidas vuelven a sus valores predeterminados, y los valores de tema y de diseño omitidos pasan a ser `System` y `Vertical`. Mantenga la configuración deseada junta en una sola definición. Los ejemplos siguientes amplían la misma tabla hash `$branding` para que los cambios posteriores no borren los valores anteriores.
{% endhint %}

Si ejecuta los ejemplos de forma interactiva, conéctese primero al servidor previsto con `Connect-PSUServer`. No ejecute ejemplos sucesivos en una implementación existente sin incluir la configuración que desee conservar.

## Hospedar imágenes y ficheros CSS

La configuración de imagen y de hoja de estilos acepta URL accesibles para el navegador, no rutas del sistema de ficheros del servidor. Por ejemplo, `C:\PSU\Branding\logo.png` es un fichero local, mientras que `/branding/logo.png` es la URL que el navegador puede solicitar.

1. Cree una carpeta dedicada, como `C:\PSU\Branding`, en el servidor de PSU. Conceda acceso de lectura a la cuenta de servicio de PSU.
2. Coloque sus ficheros de branding públicos en esa carpeta: `logo.png`, `logo-on-dark.png`, `favicon.ico` y, si es necesario, `login.css`.
3. Publique la carpeta en `/branding`. Deje deshabilitadas la autenticación y las restricciones de roles para que la página de inicio de sesión pueda cargar estos activos antes de que un usuario inicie sesión.

Por ejemplo, coloque esta definición en `.universal\publishedFolders.ps1`:

```powershell
New-PSUPublishedFolder -Name 'BrandingAssets' -Path 'C:\PSU\Branding' -RequestPath '/branding'
```

Coloque en esta carpeta solo imágenes y hojas de estilos públicas. Todo lo que sirve es accesible sin iniciar sesión; no publique el repositorio de configuración, los scripts, las credenciales ni otros ficheros privados. La ruta del sistema de ficheros puede estar fuera del repositorio de configuración. En otros sistemas operativos, use una ruta local adecuada.

Abra `/branding/logo.png` y `/branding/login.css` en su sitio de PSU en una ventana de navegación privada para confirmar el acceso anónimo. Consulte [Carpetas publicadas](/powershell-universal/es/plataforma/published-folders.md) para obtener más detalles.

Los ejemplos suponen que PSU está hospedado en la raíz del sitio. Si se ejecuta bajo un directorio virtual o un prefijo de ruta de proxy, incluya ese prefijo en las URL o use URL HTTPS completas a las que puedan llegar los navegadores de sus usuarios. No use una URL `localhost` a menos que cada navegador se ejecute en el propio servidor.

## Ejemplo: una página de inicio de sesión y una consola con branding

Después de publicar los activos, coloque esto en `.universal\branding.ps1`:

```powershell
$branding = @{
    AdminConsoleTitle    = 'Contoso Automation'
    PortalTitle          = 'Contoso Self-Service'
    LoginPageTitle       = 'Contoso Automation'
    LoginPageText        = 'Sign in with your work account'
    LoginPageDescription = 'Automation and self-service for Contoso employees.'
    LoginPageImage       = '/branding/logo.png'
    LoginPageLogoSize    = '180px'
    AppBarLogo           = '/branding/logo.png'
    DarkAppBarLogo       = '/branding/logo-on-dark.png'
    Favicon              = '/branding/favicon.ico'
    Copyright            = 'Copyright 2026 Contoso'
    LoginPageTheme       = 'Light'
    LoginPageLayout      = 'Vertical'
}

Set-PSUBranding @branding
```

La página de inicio de sesión muestra el logotipo personalizado, la descripción y el encabezado de inicio de sesión. `LoginPageTitle` también proporciona el sufijo del título en la pestaña del navegador. En el diseño de inicio de sesión actual, el título personalizado visible bajo el logotipo se representa cuando se proporciona un `LoginPageImage` personalizado. `AdminConsoleTitle` proporciona el sufijo del título del navegador de la consola de administración; una licencia de desarrollador usa en su lugar el título de desarrollo.

`AppBarLogo` proporciona el logotipo de navegación integrado de la consola y del portal. `DarkAppBarLogo` es la imagen alternativa cuando su tema oscuro está activo, no una solicitud para oscurecer la imagen original. Establezca ambas URL de logotipo. Elija una imagen clara sobre fondo oscuro para el logotipo alternativo. Esta configuración no selecciona una imagen distinta de la página de inicio de sesión: `LoginPageImage` es compartida por ambos temas de inicio de sesión.

| Parámetro              | Qué indicar                                                                                                      |
| ---------------------- | ---------------------------------------------------------------------------------------------------------------- |
| `LoginPageTitle`       | Título de la página de inicio de sesión, por ejemplo `Contoso Automation`. Alias: `Title`.                       |
| `LoginPageText`        | Encabezado dentro de la tarjeta de inicio de sesión, por ejemplo `Sign in with your work account`.               |
| `LoginPageDescription` | Texto junto al logotipo, por ejemplo una breve descripción del público o del servicio.                           |
| `LoginPageImage`       | URL del logotipo de inicio de sesión, por ejemplo `/branding/logo.png`. Alias: `Image`.                          |
| `LoginPageLogoSize`    | Una anchura CSS, como `180px`, `12rem` o `50%`. La anchura predeterminada del logotipo personalizado es `128px`. |
| `AppBarLogo`           | URL del logotipo normal de la consola y del portal.                                                              |
| `DarkAppBarLogo`       | URL del logotipo de navegación alternativo usado en el tema oscuro.                                              |
| `Favicon`              | URL del icono de la pestaña del navegador, por ejemplo `/branding/favicon.ico`.                                  |
| `AdminConsoleTitle`    | Sufijo del título del navegador de la consola de administración.                                                 |
| `PortalTitle`          | Título usado por las páginas de búsqueda de recursos y de scripts del portal.                                    |
| `Copyright`            | Texto de copyright en la página de inicio de sesión y dondequiera que se represente el pie de página integrado.  |

## Ejemplo: diseño, tema y colores de inicio de sesión

Para colocar el logotipo y la descripción junto a la tarjeta de inicio de sesión, cambie el perfil a `Horizontal`. `Vertical` apila el branding encima de la tarjeta. El diseño horizontal puede apilarse en pantallas estrechas.

```powershell
$branding.LoginPageLayout = 'Horizontal'
$branding.LoginPageTheme = 'Light'
$branding.LoginPageBackgroundColor = '#E8F0F8'
$branding.LoginPageFontColor = '#172B4D'

Set-PSUBranding @branding
```

Estas líneas suponen que `$branding` del ejemplo anterior sigue definido. Para un fichero de configuración, añada las asignaciones antes de su única llamada final `Set-PSUBranding @branding`, en lugar de añadir una segunda definición de branding.

| Parámetro                  | Valores y efecto                                                                                                                                                                                                               |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `LoginPageLayout`          | `Vertical` (predeterminado) o `Horizontal`.                                                                                                                                                                                    |
| `LoginPageTheme`           | `System` (predeterminado), `Light` o `Dark`. Use `System`, no `Auto`. El modo System tiene en cuenta la preferencia de tema de PSU guardada del navegador y, en caso contrario, la preferencia de color del sistema operativo. |
| `LoginPageBackgroundColor` | Color CSS usado para el fondo del diseño de inicio de sesión y para el fondo y el borde del botón principal de inicio de sesión. No quita una imagen de fondo integrada ni cambia el color del texto del botón.                |
| `LoginPageFontColor`       | Color CSS aplicado a la tipografía de la página de inicio de sesión. No es una configuración distinta del color de la etiqueta del botón ni del texto de entrada.                                                              |

Use combinaciones de primer plano y de fondo legibles, y compruebe el logotipo, la descripción, los botones y los mensajes de error en los temas que usan sus usuarios. `LoginPageTheme` controla la página de inicio de sesión, no las preferencias de tema de la consola de los usuarios.

## Ejemplo: colores de navegación y de tarjeta

Amplíe el mismo perfil con estos valores:

```powershell
$branding.SecondaryColor = '#16324F'
$branding.SecondaryFontColor = '#FFFFFF'
$branding.PrimaryColor = '#FFFFFF'
$branding.PrimaryFontColor = '#172B4D'

Set-PSUBranding @branding
```

Los colores secundarios se aplican a la navegación integrada de administración y del portal. El par de colores primarios lo usan las tarjetas integradas, como la tarjeta de restablecimiento de contraseña; no es la paleta primaria de Material UI para las aplicaciones y no vuelve a colorear cada control de la consola. Establezca `PrimaryColor` con `PrimaryFontColor`, porque estas sustituciones de tarjeta se aplican juntas.

| Parámetro                        | Ámbito                                                                                                                       |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| `SecondaryColor`                 | Fondo de la navegación y de la barra lateral.                                                                                |
| `SecondaryFontColor`             | Color de primer plano heredado de la navegación; los estilos de componente pueden proporcionar colores más específicos.      |
| `PrimaryColor`                   | Fondo de las tarjetas integradas que usan el color de branding principal.                                                    |
| `PrimaryFontColor`               | Primer plano emparejado con `PrimaryColor` en esas tarjetas.                                                                 |
| `HeaderColor`, `HeaderFontColor` | Configuración de compatibilidad para diseños de encabezado antiguos. El diseño actual de la consola no aplica estos valores. |

## Ejemplo: personalizar la hoja de estilos de inicio de sesión

Use `LoginPageCssStylesheet` cuando la configuración de inicio de sesión integrada no sea suficiente. Por ejemplo, para reemplazar la imagen de fondo integrada por un color sólido y establecer un color de botón independiente, guarde lo siguiente como `C:\PSU\Branding\login.css`:

```css
html body .ant-layout {
    background-image: none !important;
    background-color: #E8F0F8 !important;
}

html body .ant-btn-primary {
    background-color: #0066B0 !important;
    border-color: #0066B0 !important;
    color: #FFFFFF !important;
}
```

Haga referencia a la URL publicada en el mismo perfil de branding:

```powershell
$branding.LoginPageCssStylesheet = '/branding/login.css'
Set-PSUBranding @branding
```

Esta hoja de estilos se carga en las páginas de inicio de sesión y de error de inicio de sesión. No aplica estilos de forma global a la consola de administración ni a sus aplicaciones. El ejemplo usa selectores más específicos y `!important` para reemplazar los estilos de inicio de sesión integrados. Los selectores CSS son detalles de implementación: vuelva a comprobar los estilos personalizados después de actualizar PSU.

Use solo hojas de estilos de confianza servidas por HTTPS o desde su propia instancia de PSU. Si un cambio no aparece, inspeccione la solicitud de la hoja de estilos en las herramientas de desarrollo del navegador y, a continuación, actualice sin la caché. Una URL con versión como `/branding/login.css?v=2` puede ayudar al implementar un fichero actualizado.

## Ejemplo: mensajes de error y de cierre de sesión claros

Añada estas entradas al perfil antes de aplicarlo:

```powershell
$branding.PageNotFoundTitle = 'Page not found'
$branding.PageNotFoundDescription = 'Check the address or return to the home page.'
$branding.NotAuthorizedTitle = 'Access required'
$branding.NotAuthorizedDescription = 'Contact the service desk to request access.'
$branding.AppNotRunningDescription = 'This service is temporarily unavailable. Please try again later.'
$branding.LoggedOut = 'You are signed out'
$branding.LoggedOutDescription = 'Close your browser if you are using a shared computer.'

Set-PSUBranding @branding
```

| Parámetro                                        | Dónde se usa                                                                                                                                                 |
| ------------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `PageNotFoundTitle`, `PageNotFoundDescription`   | Pantalla integrada de página no encontrada.                                                                                                                  |
| `NotAuthorizedTitle`, `NotAuthorizedDescription` | Pantalla integrada de no autorizado.                                                                                                                         |
| `AppNotRunningDescription`                       | Pantalla del marco de aplicaciones que se muestra cuando una aplicación no se está ejecutando. Es distinta de la pantalla de inicio o de carga del servidor. |
| `LoggedOut`, `LoggedOutDescription`              | Título y descripción en la pantalla integrada `/loggedout`.                                                                                                  |

Esta configuración cambia la presentación, no las reglas de acceso. No concede permisos, no habilita proveedores de autenticación, no inicia una aplicación ni cambia el control de errores HTTP en un proxy inverso. Mantenga los mensajes libres de secretos y de información de diagnóstico interna.

## Parámetros de compatibilidad

La referencia del cmdlet incluye parámetros conservados en el modelo de branding que los diseños de página integrados actuales no consumen:

| Parámetro                        | Comportamiento de compatibilidad                                                                                                                                                                     |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `LoginPageLinks`                 | Acepta objetos `LoginPageLink`, pero las plantillas de inicio de sesión verticales y horizontales actuales no los representan.                                                                       |
| `CssStylesheet`                  | Acepta una matriz de URL de hojas de estilos, pero la consola de administración actual no las carga como hojas de estilos globales. Use `LoginPageCssStylesheet` para la página de inicio de sesión. |
| `CssStylesheetIntegrity`         | Valores de integridad complementarios para `CssStylesheet`; esto no añade un atributo de integridad a `LoginPageCssStylesheet`.                                                                      |
| `HeaderColor`, `HeaderFontColor` | Se conserva por compatibilidad; el diseño actual de la consola, basado en la navegación, no representa el encabezado con branding anterior.                                                          |

La representación depende de la versión de PSU y del diseño de la página. Que un parámetro se acepte y se guarde no demuestra que un elemento visible lo use. Compruebe la página correspondiente en lugar de añadir más configuración para compensar un parámetro no usado.

## Restablecer y solucionar problemas

Para restablecer el branding, seleccione **Restablecer** en **Configuración > Branding** y confirme. Esto reemplaza la definición guardada por los valores predeterminados. La llamada interactiva equivalente al cmdlet es:

```powershell
Set-PSUBranding
```

Si la configuración se administra mediante Git u otro proceso de implementación, actualice también ese origen para que no vuelva a aplicar el branding anterior. Restablecer el branding no elimina los ficheros de imagen o de hoja de estilos publicados.

| Síntoma                                                      | Qué comprobar                                                                                                                                                                                                         |
| ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| El logotipo o el CSS no se carga antes del inicio de sesión  | Abra la URL exacta en una ventana de navegación privada. Compruebe la ruta de la carpeta publicada, el acceso de lectura de la cuenta de servicio y que el activo no esté protegido por la autenticación o por roles. |
| El navegador solicita el sitio o la ruta incorrectos         | La configuración de imagen debe ser de URL, no de rutas del sistema de ficheros. Incluya cualquier prefijo de ruta de hospedaje. Una página de inicio de sesión HTTPS no debe depender de activos HTTP.               |
| La configuración anterior desaparece después de otro ejemplo | Incluya toda la configuración deseada en una sola tabla hash o definición de branding; las llamadas al cmdlet reemplazan la definición.                                                                               |
| El color de fondo cambia, pero el patrón permanece           | La configuración de color no quita la imagen de fondo. Use el ejemplo de hoja de estilos si desea un fondo sólido.                                                                                                    |
| El valor del tema se rechaza                                 | Use `System`, `Light` o `Dark`, no `Auto`.                                                                                                                                                                            |
| Una configuración válida no tiene ningún efecto visible      | Compruebe el ámbito de la configuración y las notas de compatibilidad, actualice el navegador y verifique que se cargó la configuración prevista.                                                                     |
| El favicon o la hoja de estilos sigue pareciendo sin cambios | Compruebe la respuesta de red y la caché del navegador; use una URL de activo con versión si es necesario.                                                                                                            |

## API

* [Set-PSUBranding](/powershell-universal/es/comandos-de-powershell/set-psubranding.md)
* [New-PSUBranding](/powershell-universal/es/comandos-de-powershell/new-psubranding.md) (alias)
* [New-PSUPublishedFolder](/powershell-universal/es/comandos-de-powershell/new-psupublishedfolder.md)


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.devolutions.net/powershell-universal/es/config/login-page.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
