RASInsider
← Todos los artículos
7 de octubre de 2026 / Herramientas / PowerShell y automatización / 8 min de lectura

11 temas para el User Portal de Parallels RAS: el Skin Manager de RASInsider

11 temas para el User Portal de Parallels RAS: el Skin Manager de RASInsider

Un portal de aplicaciones puede seguir siendo profesional y tener a la vez una identidad visual clara. RASInsider RAS User Portal Skin Manager ofrece once paletas: azules profundos, alternativas corporativas sobrias, superficies claras y un efecto Liquid Glass. Así se ven en el portal real; después verás cómo aplicarlas y cómo elegir tus propios colores.

Proyecto comunitario independiente, no vinculado a Parallels ni respaldado por ella. Se trata de una versión preliminar de desarrollo 0.1.1-dev, no de una función oficial del producto. Las capturas se hicieron el 7 de octubre de 2026 con RAS 21.2.2 build 27429 y RASAdmin 5.0, con un solo sitio y un Secure Gateway separado del Broker. La base de estilo original fue la RAS 22.0 Technical Preview, build 28102.

Once temas en el portal real

El fondo, el logotipo y las aplicaciones son idénticos en todas las capturas: solo cambia la presentación del portal. Haz clic en una imagen para abrir la captura a tamaño completo.

Comparativa de los once temas de RASInsider
Hoja de contactos montada con capturas reales del laboratorio, sin recoloreado simulado.

Dark Glass

Tema Dark Glass en el RAS User Portal
Azul noche con un sutil degradado morado: el aspecto original del laboratorio, con acentos azules.

Midnight Blue

Tema Midnight Blue en el RAS User Portal
Una paleta azul profunda más homogénea, con un acento azul claro.

Light Glass

Tema Light Glass en el RAS User Portal
Superficies con un tinte azul pálido y texto oscuro.

RASInsider

Tema RASInsider en el RAS User Portal
Una paleta azul oscuro e índigo que refleja el estilo del laboratorio de RASInsider.

Graphite

Tema Graphite en el RAS User Portal
Gris antracita con un acento verde azulado: una opción corporativa sobria.

Forest

Tema Forest en el RAS User Portal
Verdes profundos, un acento verde salvia y texto claro.

Warm Ivory

Tema Warm Ivory en el RAS User Portal
Una alternativa clara y cálida: marfil y beis con un acento marrón.

Bordeaux

Tema Bordeaux en el RAS User Portal
Burdeos oscuro con un acento rosa apagado.

Aubergine

Tema Aubergine en el RAS User Portal
Morado intenso con un acento lavanda, claramente distinto de las paletas claras.

Liquid Glass

Tema Liquid Glass en el RAS User Portal
Un cristal esmerilado más claro, con más transparencia, reflejos interiores, 36 px de desenfoque y esquinas de 30 px.

Ruby

Tema Ruby en el RAS User Portal
Una base oscura y un degradado rojo intenso con un vivo acento rubí.

Liquid Glass es una aproximación visual en CSS basada en transparencia, desenfoque y reflejos interiores. No es el motor de renderizado nativo de Apple. Su aspecto depende mucho del fondo de RAS y de la compatibilidad del navegador con backdrop-filter. Si ese efecto no está disponible, se usa una alternativa con fondo opaco.

Cómo instalar y cambiar un tema

Descarga el PS1 independiente actual desde GitHub. Las once paletas están integradas en el script, así que las plantillas no necesitan archivos JSON adicionales. El archivo histórico v0.1.0 no incluye esta actualización. Usa el código actual para obtener los nuevos temas.

Ejecútalo en una consola con privilegios elevados de Windows PowerShell 5.1, en el Broker o en un equipo de administración con el módulo RASAdmin correspondiente instalado. El gestor se conecta a RAS y descubre los sitios y los Secure Gateways; no da por hecho que el portal esté en el Broker. También necesitas un acceso WinRM autenticado y operativo a cada Gateway seleccionado.

Antes de autorizar el despliegue, valida en cada Gateway el directorio físico que sirve /userportal/ y su index.html. La ruta registrada en nuestro prototipo es C:Program Files (x86)ParallelsApplicationServer2XHTML5Gatewaywww; confírmala en tu instalación. -MappingValidated confirma esa validación; no descubre ni corrige el enrutamiento. Usa -PortalRoot e -IndexRelativePath si las rutas físicas son distintas.

Sustituye ras-broker.example.test por tu servidor RAS y abre el menú interactivo:

.RAS-UserPortal-SkinManager.ps1 -LicensingServer ras-broker.example.test -MappingValidated
Menú Acción
Install / Change Elegir una plantilla o introducir valores personalizados (Custom).
Re-apply Volver a aplicar la configuración guardada de cada Gateway.
Restore Original Quitar el hook gestionado y el CSS del index actual.
Status Revisar el estado del archivo, del hook y del hash.
Exit Salir.

El alcance procede del descubrimiento de RAS: A para todos los sitios, S:1,2 para los sitios seleccionados o G:10,11 para los ID de los Gateways descubiertos. Un 1 a secas no es una selección de sitio válida. Después, elige una paleta en Install / Change. Custom es la opción 5, así que las once plantillas no están numeradas de forma consecutiva del 1 al 11.

Para automatizar un cambio, empieza con una ejecución de prueba. Tras comprobar el alcance y los requisitos, lanza el mismo comando sin -WhatIf:

.RAS-UserPortal-SkinManager.ps1 -Action Install -LicensingServer ras-broker.example.test `
  -AllSites -Preset 'Ruby' -MappingValidated -WhatIf
.RAS-UserPortal-SkinManager.ps1 -Action Install -LicensingServer ras-broker.example.test `
  -AllSites -Preset 'Ruby' -MappingValidated

Custom: tus colores y tu transparencia

No estás limitado a las once plantillas. Custom parte de Dark Glass y te permite elegir el color de la cabecera, tres colores de degradado, el acento, el borde y el texto principal. También puedes ajustar la opacidad, el desenfoque y el radio de las esquinas. Para una paleta corporativa reutilizable, proporciona un archivo JSON con -SkinFile.

Ajuste Valores admitidos
Colores #RRGGBB
Opacidad 0–1
Desenfoque 0–60 px
Radio de las esquinas 0–48 px
Texto secundario / atenuado Opacidad aplicada al color principal.

Guarda este ejemplo completo como corporate-teal.json. Esta paleta personalizada es un ejemplo de configuración, no una de las once plantillas capturadas:

{
  "SchemaVersion": 1,
  "Name": "Corporate Teal",
  "Header": "#102A2B",
  "HeaderOpacity": 0.96,
  "PanelStart": "#102A2B",
  "StartOpacity": 0.96,
  "PanelMiddle": "#183D3F",
  "MiddleOpacity": 0.94,
  "PanelEnd": "#215052",
  "EndOpacity": 0.92,
  "Accent": "#67D5C4",
  "Border": "#538B86",
  "Primary": "#F4FFFD",
  "SecondaryOpacity": 0.78,
  "MutedOpacity": 0.68,
  "Blur": 28,
  "Radius": 22
}
.RAS-UserPortal-SkinManager.ps1 -Action Install -LicensingServer ras-broker.example.test `
  -AllSites -SkinFile .corporate-teal.json -MappingValidated

El esquema exige todas las propiedades y rechaza campos desconocidos, números fuera de rango, URL y CSS en bruto. Los números JSON usan punto decimal. La validación evita configuraciones mal formadas, pero no garantiza el contraste. Comprueba la legibilidad con tu fondo real, en los campos de inicio de sesión y en los estados de foco de teclado, hover, error y desactivado. Para conservar los reflejos propios de Liquid Glass en una importación JSON, mantén exactamente "Name": "Liquid Glass"; con otro nombre se usa la plantilla de cristal estándar.

Cómo funciona y hasta dónde puedes llegar

El gestor añade un hook marcado e idempotente al index.html físico. El hook carga una hoja de estilos independiente en /userportal/rasinsider.css. Sus variables --ri-* controlan los colores y efectos de las superficies afectadas. Los bundles compilados de JavaScript y CSS de Parallels nunca se modifican.

Los atributos de ámbito de Vue y las utilidades CSS pueden complicar las sustituciones de estilo. El prototipo usa anclajes contextuales como [data-testid="app-header"], header.app-header en la build 21.2 probada, #launcher y .login-container .login-form[class]. El SVG de la cabecera usa fill="currentColor", de modo que su color sigue el contexto de la cabecera sin sustituir el logotipo que proporciona RAS.

Necesidad Dónde se configura
Logotipo, fondo, favicon, título y textos RAS Theme.
Paleta, transparencia, desenfoque, bordes, esquinas, hover y subrayado activo Plantillas del Skin Manager o Custom.
Selectores adicionales, geometría del degradado, sombras o una disposición distinta Desarrollo CSS en el generador; fuera del esquema Custom actual.
Autenticación, MFA, SAML, permisos, aplicaciones publicadas, lanzamiento o contenido de la sesión remota RAS y sus componentes; fuera del alcance del Skin Manager.

La hoja de estilos puede vestir la cabecera, el panel de inicio de sesión, el launcher, la búsqueda, las migas de pan y las filas de las listas. El JSON no es un constructor de páginas: no reordena las aplicaciones, no sustituye sus iconos ni añade funciones de negocio. El degradado mantiene tres paradas al 0 %, 55 % y 100 %, con un ángulo de 145 grados. Añadir componentes o cambiar la disposición requiere desarrollo CSS y pruebas con la build prevista. Evita los selectores que dependen del viewBox del logotipo: uno de ellos fue un objetivo temporal del prototipo, no una base estable para personalizar una granja.

Esta separación deja a RAS el control de los recursos dinámicos. Está pensada para permitir cambios en el RAS Theme sin que el gestor sustituya tu logotipo o tu fondo. Los escenarios completos de cambio de RAS Theme y de actualización todavía tienen que validarse en laboratorio. Las once capturas muestran el aspecto en la build probada, no una compatibilidad universal con versiones futuras.

Varios Gateways, actualizaciones y recuperación

El descubrimiento usa el módulo RASAdmin instalado: New-RASSession, Get-RASVersion, Get-RASSite, Get-RASGateway -SiteId y Get-RASGatewayStatus -Id. RAS sigue siendo la fuente de verdad; los equipos de destino no son un inventario introducido a mano. Remove-RASSession cierra la sesión. Los detalles verificados del descubrimiento están en la documentación multi-Gateway.

El script comprueba todos los Gateways seleccionados antes de modificar el primero, y después crea snapshots, aplica los cambios y los verifica. Detrás de un HALB, selecciona todo el pool correspondiente para evitar aspectos incoherentes. Un despliegue distribuido sigue teniendo una ventana de transición y no vacía los nodos automáticamente. Si el despliegue falla, la reversión compensatoria usa los snapshots de la transacción y se niega a sobrescribir cambios ajenos simultáneos.

La configuración, el estado, los hashes, las transacciones, las copias y los logs se guardan en %ProgramData%RASInsiderRAS-UserPortal-SkinManager. Tras una actualización de RAS, revisa primero Status y usa después Re-apply para reparar el hook y la hoja de estilos a partir de los ajustes guardados. Re-apply conserva el skin propio de cada Gateway; Install / Change permite homogeneizar un pool.

.RAS-UserPortal-SkinManager.ps1 -Action Reapply -LicensingServer ras-broker.example.test `
  -AllSites -MappingValidated

Para volver a la presentación original, Restore Original quita los elementos gestionados del index actual. No restaura a ciegas un index antiguo sobre los archivos actualizados del producto:

.RAS-UserPortal-SkinManager.ps1 -Action Restore -LicensingServer ras-broker.example.test `
  -AllSites -MappingValidated

Los enlaces CSS sin marcar, los marcadores mal formados y ciertas desviaciones se rechazan deliberadamente. Conserva cualquier prototipo existente y sigue el procedimiento de recuperación en lugar de forzar escrituras. Termina actualizando el navegador y comprobando el CSS servido y el aspecto esperado.

Lo que hemos validado de verdad

Las once paletas se desplegaron desde el Broker en un Gateway separado y se capturaron en el navegador. Después se restauró Dark Glass a partir de su configuración guardada y se comprobaron Re-apply y Status. La validación local fue satisfactoria: 52 comprobaciones de fixtures, 17 pruebas Pester y PSScriptAnalyzer, además de las comprobaciones de Windows en GitHub. Las pruebas de reversión multi-Gateway usan fixtures: quedan pendientes un HALB real, los despliegues en varios Gateways, los cambios de RAS Theme, las actualizaciones y una validación completa de accesibilidad. El script admite la rama 21.2.x y RAS 22.0 TP build 28102, lo que no significa que se haya probado cada build admitida.

Proyecto y código en GitHub · Esquema Custom · Paletas en detalle · Validación en laboratorio

¿Quieres ver RASInsider primero en las noticias de Google?Añadir RASInsider como fuente preferida en Google

¿Te ha sido útil este artículo?