RASInsider
← Alle artikelen
7 april 2026 / Handleidingen / PowerShell & automatisering / 4 min leestijd

De PowerShell-API van Parallels RAS onder de knie: de basis

De PowerShell-API van Parallels RAS onder de knie: de basis

Bij Parallels RAS denken de meeste beheerders aan de grafische interface. Toch gaat er achter die console veel meer schuil, zeker wanneer je resources en gebruikers beheert via de PowerShell-API van Parallels RAS. Met de PowerShell-API van Parallels (module RASAdmin) kun je alle beheerhandelingen automatiseren: applicaties publiceren, toegangsfilters beheren, certificaten uitrollen, tenants koppelen… Alles scriptbaar, versioneerbaar en te integreren in je CI/CD-pipelines of ITSM-tools.

Dit artikel geeft een overzicht van wat de PowerShell-API kan, de concrete voordelen voor IT-teams, de technische vereisten en een reeks oplopende oefeningen om zelf aan de slag te gaan.

Wat de PowerShell-API van Parallels RAS kan

De gouden regel is simpel: alles wat je in de grafische console van Parallels RAS kunt doen, kan ook via de PowerShell-API. Dit zijn de belangrijkste categorieën handelingen:

1. Beheer van gepubliceerde resources

  • Applicaties en externe bureaubladen publiceren
  • Toegangsfilters toepassen (gebruikers/groepen, IP-bereiken, clienttypen…)
  • Regels voor toestaan en weigeren op gepubliceerde items beheren

2. Certificaatbeheer

  • SSL-certificaten aanmaken en uitrollen (handmatig of via Let’s Encrypt)
  • Automatische verlenging instellen
  • Certificaten koppelen aan Secure Gateways of loadbalancers

3. Multi-tenantarchitectuur

  • Een Tenant Broker koppelen vanuit een script
  • Geheime sleutels genereren voor de registratie van tenants
  • De onboarding van nieuwe omgevingen automatiseren

4. Globale farmconfiguratie

  • Brokers, gateways en RDS-serverpools beheren
  • Configuraties idempotent toepassen
  • Parallels RAS integreren in Ansible, Terraform of uitrolscripts

Bovendien stelt de PowerShell-module RASAdmin alle resources beschikbaar via een REST API (poort 20443), zodat je vanuit elke taal of elk platform kunt integreren.

Voordelen van automatiseren via de PowerShell-API

Tijdwinst en consistentie

In plaats van voor elke nieuwe omgeving dezelfde handelingen handmatig te herhalen, garandeert een PowerShell-script bij elke uitvoering een identieke configuratie. Geen vergeten stappen meer, geen menselijke configuratiefouten.

Integratie in DevOps-pipelines

RASAdmin-scripts kunnen worden uitgevoerd vanuit Azure DevOps, GitHub Actions, Jenkins of elk ander CI/CD-systeem. Dat opent de deur naar provisioning van je Parallels RAS-omgevingen als “infrastructure as code”.

Traceerbaarheid en auditeerbaarheid

Een script dat in Git wordt geversioneerd, vormt een duidelijke geschiedenis van elke wijziging aan de infrastructuur. Bij een incident kun je een specifieke configuratie opnieuw toepassen of terugdraaien.

Schaalbaarheid

Daardoor blijft de beheerinspanning gelijk, of je nu 5 of 500 tenants beheert. Eén script kan tientallen omgevingen in een paar seconden uitrollen.

Platformonafhankelijk via REST

Naast PowerShell maakt de REST API van Parallels RAS interactie mogelijk vanuit elke tool die HTTP-verzoeken kan doen: Postman, Python, webapplicaties enzovoort.

Vereisten

  • Windows Server (of een Windows-werkstation) met PowerShell 5.1 of PowerShell 7+
  • Geïnstalleerde Parallels RAS (met een werkende Connection Broker)
  • Netwerktoegang tot de server waarop de Connection Broker draait
  • RAS-beheerdersaccount met voldoende rechten

De module RASAdmin installeren

Optie 1 — Allereerst: geef je de voorkeur aan een grafische installatie, start dan het standaard installatieprogramma van Parallels RAS. Kies vervolgens “Custom installation” en selecteer de component “Parallels RAS PowerShell”.

Optie 2 — Stille installatie (MSI):

msiexec /i RASInstaller-*.msi ADDLOCAL=F_PowerShell /qn

Belangrijk: de versie van de RAS PowerShell-binaries moet exact overeenkomen met de versie van de RAS Connection Broker. Een afwijkende versie leidt tot verbindingsfouten.

De module controleren en importeren

Import-Module RASAdmin
Get-Command -Module RASAdmin

Volledige documentatie: https://docs.parallels.com/landing/ras-powershell-api-guide

Oefenreeks — aan de slag

0 — Verbinding en eerste commando

$username = "apiuser"
$password = "YourPassword!"
$server = "rasbroker.your-domain.local"
$passwordEnc = ConvertTo-SecureString $password -AsPlainText -Force
New-RASSession -Username $username -Password $passwordEnc -Server $server
Get-RASBroker
Remove-RASSession

1 — Een applicatie en een bureaublad publiceren

$passwordEnc = ConvertTo-SecureString $password -AsPlainText -Force
New-RASSession -Username $username -Password $passwordEnc -Server $server
$pool = Get-RASRDSHostPool -Name "RDSH Pool"
$desktop = New-RASPubRDSDesktop -Name "MyDesktop" -PublishFrom HostPool -PublishFromHostPoolIds $pool.Id -DesktopSize UseAvailableArea
$app = New-RASPubRDSApp -Name "Paint" -PublishFrom HostPool -PublishFromHostPoolIds $pool.Id -Target "%windir%system32mspaint.exe"
Invoke-RASApply
Remove-RASSession

2 — Toegangsfilters toevoegen

New-RASSession -Username $username -Password $passwordEnc -Server $server
$app = Get-RASPubRDSApp -Name "Paint"
Add-RASRule -Id $app.Id -ObjType PubItem -RuleName "MyFilter"
$rules = Get-RASRule -Id $app.Id -ObjType PubItem
Set-RASCriteria -Id $app.Id -ObjType PubItem -SecurityPrincipalsEnabled $true -IPsEnabled $true -RuleId $rules[0].Id
Add-RASCriteriaSecurityPrincipal -Id $app.Id -ObjType PubItem -RuleId $rules[0].Id -Account "Guests"
Add-RASCriteriaIP -Id $app.Id -ObjType PubItem -RuleId $rules[0].Id -IPType Version4 -IP "192.168.1.1-192.168.1.50"
Set-RASPubItemFilter -Id $app.Id -Default Deny
Invoke-RASApply
Remove-RASSession

3 — Een Let’s Encrypt-certificaat aanmaken

New-RASSession -Username $username -Password $passwordEnc -Server $labServer
Set-RASLetsEncryptSettings -SiteID 1 -TermsAccepted $true
Invoke-RASApply
New-RASCertificate -Name "CertGateway" -CommonName "ras.your-public-domain.com" -Email "[email protected]" -LetsEncrypt -Enabled $true -Organisation "Your Organisation" -KeySize KeySize2048 -Usage Gateway
Invoke-RASApply
Remove-RASSession

4 — Een Tenant Broker koppelen

New-RASSession -Username $username -Password $password -Server $tenantBroker
Set-RASTenantBrokerSettings -AllowRegistrationWithSecretKey $true
Invoke-RASApply
$secretKey = Invoke-RASTenantBrokerSettings -Command GenerateHash
Invoke-RASApply
Remove-RASSession
New-RASSession -Username $username -Password $password -Server $labServer
Invoke-RASTenantBroker -Join -HashKey $secretKey -TenantBroker $tenantBroker -PublicDomainAddresses "lab1.your-public-domain.com" -TenantName $labServer
Invoke-RASApply
Remove-RASSession

Best practices

  • Sla wachtwoorden nooit op in platte tekst — gebruik Windows Credential Manager, Azure Key Vault of de secrets van je CI/CD.
  • Roep altijd Invoke-RASApply aan — zonder deze aanroep blijven de wijzigingen in afwachting.
  • Sluit de sessie netjes af — gebruik Remove-RASSession in een try/finally-blok.
  • Versioneer je scripts — bewaar ze in Git voor traceerbaarheid en om terug te kunnen draaien.

Officiële bronnen:

Conclusie

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

Had je iets aan dit artikel?