Ein Anwendungsportal kann professionell bleiben und trotzdem eine klare visuelle Identität haben. Der RASInsider RAS User Portal Skin Manager bietet elf Paletten: tiefe Blautöne, zurückhaltende Corporate-Varianten, helle Oberflächen und einen Liquid-Glass-Effekt. So sehen sie im echten Portal aus — danach erfahren Sie, wie Sie sie anwenden und Ihre eigenen Farben wählen.
Unabhängiges Community-Projekt, weder mit Parallels verbunden noch von Parallels unterstützt. Es handelt sich um eine Entwicklungsvorschau 0.1.1-dev, nicht um eine offizielle Produktfunktion. Die Screenshots entstanden am 7. Oktober 2026 mit RAS 21.2.2 Build 27429 und RASAdmin 5.0, mit einer Site und einem vom Broker getrennten Secure Gateway. Ausgangspunkt des Stylings war die RAS 22.0 Technical Preview, Build 28102.
Elf Themes im echten Portal
Hintergrund, Logo und Anwendungen sind auf allen Aufnahmen identisch: Nur die Darstellung des Portals ändert sich. Klicken Sie auf ein Bild, um die Aufnahme in voller Größe zu öffnen.

Dark Glass

Midnight Blue

Light Glass

RASInsider

Graphite

Forest

Warm Ivory

Bordeaux

Aubergine

Liquid Glass

Ruby

Liquid Glass ist eine optische Annäherung per CSS mit Transparenz, Unschärfe und inneren Lichtkanten. Es ist nicht die native Rendering-Engine von Apple. Das Ergebnis hängt stark vom RAS-Hintergrundbild und von der Unterstützung für backdrop-filter im Browser ab. Steht dieser Effekt nicht zur Verfügung, greift eine Variante mit deckendem Hintergrund.
Ein Theme installieren und wechseln
Laden Sie die aktuelle eigenständige PS1-Datei von GitHub herunter. Alle elf Paletten sind in das Skript eingebettet, die Vorlagen brauchen also keine zusätzlichen JSON-Dateien. Das historische Archiv v0.1.0 enthält dieses Update nicht. Verwenden Sie die aktuelle Quelle, um die neuen Themes zu erhalten.
Führen Sie es in einer Konsole mit erhöhten Rechten unter Windows PowerShell 5.1 aus, auf dem Broker oder einem Administrationsrechner mit dem passenden installierten RASAdmin-Modul. Der Manager verbindet sich mit RAS und ermittelt Sites und Secure Gateways; er geht nicht davon aus, dass das Portal auf dem Broker liegt. Ein bereits funktionierender, authentifizierter WinRM-Zugriff auf jedes ausgewählte Gateway ist ebenfalls erforderlich.
Prüfen Sie vor dem Freigeben der Bereitstellung auf jedem Gateway das physische Verzeichnis, das /userportal/ und dessen index.html ausliefert. Der Pfad unseres Prototyps lautet C:Program Files (x86)ParallelsApplicationServer2XHTML5Gatewaywww; bestätigen Sie ihn in Ihrer Installation. -MappingValidated bestätigt diese Prüfung; es ermittelt oder korrigiert das Routing nicht. Verwenden Sie -PortalRoot und -IndexRelativePath für abweichende physische Pfade.
Ersetzen Sie ras-broker.example.test durch Ihren RAS-Server und öffnen Sie das interaktive Menü:
.RAS-UserPortal-SkinManager.ps1 -LicensingServer ras-broker.example.test -MappingValidated
| Menü | Aktion |
|---|---|
| Install / Change | Eine Vorlage wählen oder eigene Werte (Custom) eingeben. |
| Re-apply | Die gespeicherte Konfiguration jedes Gateways erneut anwenden. |
| Restore Original | Den verwalteten Hook und das CSS aus der aktuellen index entfernen. |
| Status | Status von Datei, Hook und Hash prüfen. |
| Exit | Beenden. |
Der Geltungsbereich ergibt sich aus der Erkennung in RAS: A für alle Sites, S:1,2 für ausgewählte Sites oder G:10,11 für die IDs erkannter Gateways. Eine bloße 1 ist keine gültige Site-Auswahl. Wählen Sie dann unter Install / Change eine Palette. Custom ist die Auswahl 5, die elf Vorlagen sind also nicht fortlaufend von 1 bis 11 nummeriert.
Um einen Wechsel zu automatisieren, beginnen Sie mit einem Probelauf. Nach Prüfung von Geltungsbereich und Voraussetzungen führen Sie denselben Befehl ohne -WhatIf aus:
.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: Ihre Farben und Ihre Transparenz
Sie sind nicht auf die elf Vorlagen beschränkt. Custom geht von Dark Glass aus und lässt Sie die Farbe der Kopfzeile, drei Verlaufsfarben, den Akzent, den Rahmen und den Haupttext wählen. Außerdem lassen sich Deckkraft, Unschärfe und Eckenradius einstellen. Für eine wiederverwendbare Unternehmenspalette übergeben Sie mit -SkinFile eine JSON-Datei.
| Einstellung | Zulässige Werte |
|---|---|
| Farben | #RRGGBB |
| Deckkraft | 0–1 |
| Unschärfe | 0–60 px |
| Eckenradius | 0–48 px |
| Sekundärer / gedämpfter Text | Auf die Primärfarbe angewandte Deckkraft. |
Speichern Sie dieses vollständige Beispiel als corporate-teal.json. Diese eigene Palette ist ein Konfigurationsbeispiel und keine der elf fotografierten Vorlagen:
{
"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
Das Schema verlangt jede Eigenschaft und lehnt unbekannte Felder, Zahlen außerhalb des zulässigen Bereichs, URLs und rohes CSS ab. JSON-Zahlen verwenden einen Dezimalpunkt. Die Validierung verhindert fehlerhafte Konfigurationen, garantiert aber keinen ausreichenden Kontrast. Prüfen Sie die Lesbarkeit mit Ihrem tatsächlichen Hintergrundbild, an den Anmeldefeldern sowie bei Tastaturfokus, Hover, Fehler- und deaktivierten Zuständen. Um die Liquid-Glass-spezifischen Lichtkanten bei einem JSON-Import zu behalten, lassen Sie exakt "Name": "Liquid Glass" stehen; ein anderer Name verwendet die Standard-Glasvorlage.
Wie es funktioniert — und wie weit Sie gehen können
Der Manager fügt der physischen index.html einen markierten, idempotenten Hook hinzu. Dieser Hook lädt ein eigenständiges Stylesheet unter /userportal/rasinsider.css. Dessen Variablen --ri-* steuern Farben und Effekte auf den betroffenen Flächen. Die kompilierten JavaScript- und CSS-Bundles von Parallels werden nie verändert.
Vue-Scope-Attribute und CSS-Utilities können Überschreibungen erschweren. Der Prototyp nutzt kontextbezogene Anker wie [data-testid="app-header"], header.app-header im getesteten Build 21.2, #launcher und .login-container .login-form[class]. Das SVG der Kopfzeile verwendet fill="currentColor", sodass seine Farbe dem Kontext der Kopfzeile folgt, ohne das von RAS gelieferte Logo zu ersetzen.
| Anforderung | Wo sie konfiguriert wird |
|---|---|
| Logo, Hintergrundbild, Favicon, Titel und Texte | RAS Theme. |
| Palette, Transparenz, Unschärfe, Rahmen, Ecken, Hover und Unterstreichung des aktiven Elements | Vorlagen des Skin Manager oder Custom. |
| Zusätzliche Selektoren, Verlaufsgeometrie, Schatten oder ein anderes Layout | CSS-Entwicklung im Generator; außerhalb des aktuellen Custom-Schemas. |
| Authentifizierung, MFA, SAML, Berechtigungen, veröffentlichte Anwendungen, Start oder Inhalt der Remotesitzung | RAS und seine Komponenten; außerhalb des Funktionsumfangs des Skin Manager. |
Das Stylesheet kann Kopfzeile, Anmeldebereich, Launcher, Suche, Brotkrumennavigation und Listenzeilen gestalten. JSON ist kein Seitenbaukasten: Es ordnet keine Anwendungen um, ersetzt keine Symbole und fügt keine Fachfunktionen hinzu. Der Verlauf behält drei Stopps bei 0 %, 55 % und 100 % in einem Winkel von 145 Grad. Zusätzliche Komponenten oder Layoutänderungen erfordern CSS-Entwicklung und Tests mit dem vorgesehenen Build. Vermeiden Sie Selektoren, die von der viewBox des Logos abhängen: Einer davon war ein vorübergehendes Ziel des Prototyps, keine stabile Grundlage für die Anpassung einer Farm.
Diese Trennung lässt RAS die Kontrolle über die dynamischen Ressourcen. Sie ist darauf ausgelegt, Änderungen am RAS Theme zu ermöglichen, ohne dass der Manager Ihr Logo oder Ihr Hintergrundbild ersetzt. Die vollständigen Szenarien für Theme-Änderungen und Upgrades müssen noch im Lab validiert werden. Die elf Screenshots zeigen das Aussehen im getesteten Build, keine allgemeine Kompatibilität mit künftigen Versionen.
Mehrere Gateways, Upgrades und Wiederherstellung
Die Erkennung nutzt das installierte RASAdmin-Modul: New-RASSession, Get-RASVersion, Get-RASSite, Get-RASGateway -SiteId und Get-RASGatewayStatus -Id. RAS bleibt die maßgebliche Quelle; die Zielrechner sind kein manuell gepflegtes Inventar. Remove-RASSession schließt die Sitzung. Die verifizierten Details zur Erkennung stehen in der Dokumentation zu mehreren Gateways.
Das Skript prüft jedes ausgewählte Gateway, bevor es das erste verändert, erstellt dann Snapshots, wendet die Änderungen an und überprüft sie. Hinter einem HALB wählen Sie den gesamten betroffenen Pool, um ein uneinheitliches Erscheinungsbild zu vermeiden. Eine verteilte Bereitstellung hat dennoch ein Übergangsfenster und leert die Knoten nicht automatisch. Schlägt die Bereitstellung fehl, nutzt das kompensierende Rollback die Transaktions-Snapshots und weigert sich, gleichzeitige fremde Änderungen zu überschreiben.
Konfiguration, Status, Hashes, Transaktionen, Sicherungen und Logs liegen unter %ProgramData%RASInsiderRAS-UserPortal-SkinManager. Prüfen Sie nach einem RAS-Update zuerst den Status und reparieren Sie dann mit Re-apply Hook und Stylesheet anhand der gespeicherten Einstellungen. Re-apply bewahrt den Skin jedes einzelnen Gateways; mit Install / Change lässt sich ein Pool vereinheitlichen.
.RAS-UserPortal-SkinManager.ps1 -Action Reapply -LicensingServer ras-broker.example.test `
-AllSites -MappingValidated
Um zur ursprünglichen Darstellung zurückzukehren, entfernt Restore Original die verwalteten Elemente aus der aktuellen index. Es spielt nicht blind eine alte index über aktualisierte Produktdateien zurück:
.RAS-UserPortal-SkinManager.ps1 -Action Restore -LicensingServer ras-broker.example.test `
-AllSites -MappingValidated
Nicht markierte CSS-Links, fehlerhafte Markierungen und bestimmte Abweichungen werden bewusst abgelehnt. Bewahren Sie einen vorhandenen Prototyp auf und folgen Sie der Wiederherstellungsanleitung, statt Schreibvorgänge zu erzwingen. Aktualisieren Sie zum Schluss den Browser und prüfen Sie das ausgelieferte CSS und das erwartete Erscheinungsbild.
Was wir tatsächlich validiert haben
Alle elf Paletten wurden vom Broker auf ein separates Gateway ausgerollt und im Browser aufgenommen. Anschließend wurde Dark Glass aus der gespeicherten Konfiguration wiederhergestellt, und Re-apply sowie Status wurden geprüft. Die lokale Validierung war erfolgreich: 52 Fixture-Prüfungen, 17 Pester-Tests und PSScriptAnalyzer, dazu die Windows-Prüfungen auf GitHub. Die Rollback-Tests für mehrere Gateways nutzen Fixtures: echter HALB, Bereitstellungen auf mehrere Gateways, Änderungen am RAS Theme, Upgrades und eine umfassende Prüfung der Barrierefreiheit stehen noch aus. Das Skript erlaubt den Zweig 21.2.x und RAS 22.0 TP Build 28102; das heißt nicht, dass jeder erlaubte Build getestet wurde.
Projekt und Quellcode auf GitHub · Custom-Schema · Paletten im Detail · Validierung im Lab
