RASInsider
← Alle artikelen
7 oktober 2026 / PowerShell & automatisering / Tools / 8 min leestijd

11 thema’s voor het Parallels RAS User Portal: de RASInsider Skin Manager

11 thema’s voor het Parallels RAS User Portal: de RASInsider Skin Manager

Een applicatieportaal kan professioneel blijven en toch een duidelijke visuele identiteit hebben. De RASInsider RAS User Portal Skin Manager biedt elf paletten: diepe blauwtinten, ingetogen zakelijke varianten, lichte vlakken en een Liquid Glass-effect. Zo zien ze eruit in het echte portaal — daarna lees je hoe je ze toepast en je eigen kleuren kiest.

Onafhankelijk communityproject, niet gelieerd aan of ondersteund door Parallels. Dit is een ontwikkelpreview 0.1.1-dev, geen officiële productfunctie. De screenshots zijn gemaakt op 7 oktober 2026 met RAS 21.2.2 build 27429 en RASAdmin 5.0, met één site en een Secure Gateway die los van de Broker staat. De oorspronkelijke stylingbasis was de RAS 22.0 Technical Preview, build 28102.

Elf thema’s in het echte portaal

Achtergrond, logo en applicaties zijn op elke opname identiek: alleen de presentatie van het portaal verandert. Klik op een afbeelding om de opname op volledige grootte te openen.

Vergelijking van de elf RASInsider-thema's
Overzicht samengesteld uit echte labopnames, zonder gesimuleerde herkleuring.

Dark Glass

Thema Dark Glass in het RAS User Portal
Nachtblauw met een subtiel paars verloop: de oorspronkelijke look uit het lab, met blauwe accenten.

Midnight Blue

Thema Midnight Blue in het RAS User Portal
Een egaler, dieper blauw palet met een lichtblauw accent.

Light Glass

Thema Light Glass in het RAS User Portal
Lichtblauw getinte vlakken met donkere tekst.

RASInsider

Thema RASInsider in het RAS User Portal
Een palet van donkerblauw en indigo in de stijl van het RASInsider-lab.

Graphite

Thema Graphite in het RAS User Portal
Antracietgrijs met een petrolblauw accent: een ingetogen zakelijke optie.

Forest

Thema Forest in het RAS User Portal
Diepe groentinten, een saliegroen accent en lichte tekst.

Warm Ivory

Thema Warm Ivory in het RAS User Portal
Een warm, licht alternatief: ivoor en beige met een bruin accent.

Bordeaux

Thema Bordeaux in het RAS User Portal
Donker bordeauxrood met een gedempt roze accent.

Aubergine

Thema Aubergine in het RAS User Portal
Diep paars met een lavendelkleurig accent, duidelijk anders dan de lichte paletten.

Liquid Glass

Thema Liquid Glass in het RAS User Portal
Lichter matglas met meer transparantie, inwendige lichtranden, 36 px vervaging en hoeken van 30 px.

Ruby

Thema Ruby in het RAS User Portal
Een donkere basis en een dieprood verloop met een fel robijnrood accent.

Liquid Glass is een visuele benadering in CSS met transparantie, vervaging en inwendige lichtranden. Het is niet de native rendering-engine van Apple. Het resultaat hangt sterk af van de RAS-achtergrond en van browserondersteuning voor backdrop-filter. Is dat effect niet beschikbaar, dan valt het terug op een dekkende achtergrond.

Een thema installeren en wisselen

Download de huidige losse PS1 van GitHub. Alle elf paletten zitten in het script, dus de presets hebben geen extra JSON-bestanden nodig. Het historische archief v0.1.0 bevat deze update niet. Gebruik de huidige broncode om de nieuwe thema’s te krijgen.

Voer het uit in een console met verhoogde rechten onder Windows PowerShell 5.1, op de Broker of op een beheermachine met de bijpassende geïnstalleerde RASAdmin-module. De manager maakt verbinding met RAS en ontdekt de sites en Secure Gateways; hij gaat er niet van uit dat het portaal op de Broker staat. Je hebt ook al werkende, geauthenticeerde WinRM-toegang nodig tot elke geselecteerde Gateway.

Controleer vóór je de uitrol toestaat op elke Gateway de fysieke map die /userportal/ en de bijbehorende index.html serveert. Het pad in ons prototype is C:Program Files (x86)ParallelsApplicationServer2XHTML5Gatewaywww; bevestig het in je eigen installatie. -MappingValidated bevestigt die controle; het ontdekt of corrigeert de routering niet. Gebruik -PortalRoot en -IndexRelativePath voor afwijkende fysieke paden.

Vervang ras-broker.example.test door je RAS-server en open het interactieve menu:

.RAS-UserPortal-SkinManager.ps1 -LicensingServer ras-broker.example.test -MappingValidated
Menu Actie
Install / Change Een preset kiezen of eigen waarden (Custom) invoeren.
Re-apply De opgeslagen configuratie van elke Gateway opnieuw toepassen.
Restore Original De beheerde hook en CSS uit de huidige index verwijderen.
Status De status van bestand, hook en hash controleren.
Exit Afsluiten.

Het bereik komt uit de detectie van RAS: A voor alle sites, S:1,2 voor geselecteerde sites of G:10,11 voor de ID’s van gevonden Gateways. Een losse 1 is geen geldige siteselectie. Kies daarna onder Install / Change een palet. Custom is keuze 5, dus de elf presets zijn niet doorlopend genummerd van 1 tot 11.

Wil je een wissel automatiseren, begin dan met een proefrun. Na het controleren van bereik en vereisten voer je hetzelfde commando uit zonder -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: je eigen kleuren en transparantie

Je bent niet beperkt tot de elf presets. Custom vertrekt vanuit Dark Glass en laat je de kleur van de header, drie verloopkleuren, het accent, de rand en de hoofdtekst kiezen. Je kunt ook de dekking, de vervaging en de hoekradius instellen. Voor een herbruikbaar huisstijlpalet geef je met -SkinFile een JSON-bestand mee.

Instelling Toegestane waarden
Kleuren #RRGGBB
Dekking 0–1
Vervaging 0–60 px
Hoekradius 0–48 px
Secundaire / gedempte tekst Dekking toegepast op de primaire kleur.

Sla dit volledige voorbeeld op als corporate-teal.json. Dit eigen palet is een configuratievoorbeeld, geen van de elf vastgelegde presets:

{
  "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

Het schema vereist elke eigenschap en weigert onbekende velden, getallen buiten het bereik, URL’s en ruwe CSS. JSON-getallen gebruiken een decimale punt. De validatie voorkomt foutieve configuraties, maar garanteert geen goed contrast. Controleer de leesbaarheid met je echte achtergrond, bij de aanmeldvelden en bij toetsenbordfocus, hover, fout- en uitgeschakelde toestanden. Wil je de Liquid Glass-specifieke lichtranden behouden bij een JSON-import, laat dan exact "Name": "Liquid Glass" staan; een andere naam gebruikt het standaard glassjabloon.

Hoe het werkt — en hoe ver je kunt gaan

De manager voegt een gemarkeerde, idempotente hook toe aan de fysieke index.html. Die hook laadt een losse stylesheet op /userportal/rasinsider.css. De variabelen --ri-* daarin sturen de kleuren en effecten op de betreffende vlakken. De gecompileerde JavaScript- en CSS-bundles van Parallels worden nooit gewijzigd.

Vue-scope-attributen en CSS-utilities kunnen het overschrijven lastiger maken. Het prototype gebruikt contextuele ankers zoals [data-testid="app-header"], header.app-header in de geteste build 21.2, #launcher en .login-container .login-form[class]. De SVG in de header gebruikt fill="currentColor", zodat de kleur de context van de header volgt zonder het door RAS geleverde logo te vervangen.

Behoefte Waar je het instelt
Logo, achtergrond, favicon, titel en teksten RAS Theme.
Palet, transparantie, vervaging, randen, hoeken, hover en onderstreping van het actieve item Presets van de Skin Manager of Custom.
Extra selectors, verloopgeometrie, schaduwen of een andere lay-out CSS-ontwikkeling in de generator; buiten het huidige Custom-schema.
Authenticatie, MFA, SAML, rechten, gepubliceerde applicaties, starten of inhoud van de externe sessie RAS en zijn componenten; buiten het bereik van de Skin Manager.

De stylesheet kan de header, het aanmeldvenster, de launcher, de zoekfunctie, het kruimelpad en de lijstregels opmaken. JSON is geen paginabouwer: het herschikt geen applicaties, vervangt geen pictogrammen en voegt geen bedrijfsfuncties toe. Het verloop houdt drie stops op 0%, 55% en 100%, onder een hoek van 145 graden. Extra componenten of lay-outwijzigingen vragen om CSS-ontwikkeling en tests op de beoogde build. Vermijd selectors die afhangen van de viewBox van het logo: een daarvan was een tijdelijk doel van het prototype, geen stabiele basis om een farm aan te passen.

Door deze scheiding houdt RAS de controle over de dynamische resources. Ze is bedoeld om wijzigingen aan het RAS Theme mogelijk te maken zonder dat de manager je logo of achtergrond vervangt. De volledige scenario’s voor themawijzigingen en upgrades moeten nog in het lab worden gevalideerd. De elf screenshots tonen het uiterlijk in de geteste build, geen algemene compatibiliteit met toekomstige versies.

Meerdere Gateways, upgrades en herstel

De detectie gebruikt de geïnstalleerde RASAdmin-module: New-RASSession, Get-RASVersion, Get-RASSite, Get-RASGateway -SiteId en Get-RASGatewayStatus -Id. RAS blijft de bron van waarheid; de doelmachines zijn geen handmatig bijgehouden inventaris. Remove-RASSession sluit de sessie. De geverifieerde details van de detectie staan in de documentatie over meerdere Gateways.

Het script controleert elke geselecteerde Gateway voordat het de eerste wijzigt, maakt daarna snapshots, past de wijzigingen toe en verifieert ze. Achter een HALB selecteer je de hele betreffende pool om een inconsistent uiterlijk te voorkomen. Een gespreide uitrol heeft nog steeds een overgangsvenster en leegt de nodes niet automatisch. Mislukt de uitrol, dan gebruikt de compenserende rollback de snapshots van de transactie en weigert hij gelijktijdige wijzigingen van anderen te overschrijven.

Configuratie, status, hashes, transacties, back-ups en logs staan onder %ProgramData%RASInsiderRAS-UserPortal-SkinManager. Controleer na een RAS-update eerst Status en herstel daarna met Re-apply de hook en de stylesheet op basis van de opgeslagen instellingen. Re-apply behoudt de skin van elke Gateway; met Install / Change maak je een pool eenvormig.

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

Om terug te gaan naar de oorspronkelijke presentatie, verwijdert Restore Original de beheerde elementen uit de huidige index. Het zet niet blind een oude index terug over bijgewerkte productbestanden:

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

Ongemarkeerde CSS-links, foutieve markeringen en bepaalde afwijkingen worden bewust geweigerd. Bewaar een bestaand prototype en volg de herstelprocedure in plaats van schrijfacties te forceren. Ververs tot slot de browser en controleer de geserveerde CSS en het verwachte uiterlijk.

Wat we echt hebben gevalideerd

Alle elf paletten zijn vanaf de Broker uitgerold naar een aparte Gateway en in de browser vastgelegd. Daarna is Dark Glass hersteld vanuit de opgeslagen configuratie en zijn Re-apply en Status gecontroleerd. De lokale validatie slaagde: 52 fixturecontroles, 17 Pester-tests en PSScriptAnalyzer, plus de Windows-controles op GitHub. De rollbacktests voor meerdere Gateways gebruiken fixtures: een echte HALB, uitrol naar meerdere Gateways, wijzigingen aan het RAS Theme, upgrades en een volledige toegankelijkheidstoets staan nog open. Het script staat de tak 21.2.x en RAS 22.0 TP build 28102 toe; dat betekent niet dat elke toegestane build is getest.

Project en broncode op GitHub · Custom-schema · Paletten in detail · Validatie in het lab

RASInsider als eerste zien in het nieuws van Google?RASInsider toevoegen als voorkeursbron in Google

Had je iets aan dit artikel?