RASInsider
← Alle Artikel
7. April 2026 / Anleitungen / PowerShell & Automatisierung / 3 Min. Lesezeit

Die PowerShell-API von Parallels RAS beherrschen: die Grundlagen

Die PowerShell-API von Parallels RAS beherrschen: die Grundlagen

Bei Parallels RAS denken die meisten Administratoren an die grafische Oberfläche. Doch jenseits dieser Konsole steckt noch viel mehr, insbesondere wenn man Ressourcen und Benutzer über die PowerShell-API von Parallels RAS verwaltet. Mit der PowerShell-API von Parallels (Modul RASAdmin) lassen sich sämtliche Administrationsvorgänge automatisieren: Veröffentlichung von Anwendungen, Verwaltung von Zugriffsfiltern, Bereitstellung von Zertifikaten, Einbindung von Tenants… Alles skriptbar, versionierbar und in Ihre CI/CD-Pipelines oder ITSM-Tools integrierbar.

Dieser Artikel bietet einen Überblick über die Möglichkeiten der PowerShell-API, die konkreten Vorteile für IT-Teams, die technischen Voraussetzungen und eine Reihe aufeinander aufbauender Übungen für die Praxis.

Was die PowerShell-API von Parallels RAS kann

Die goldene Regel ist einfach: Alles, was sich in der grafischen Konsole von Parallels RAS erledigen lässt, geht auch über die PowerShell-API. Die wichtigsten Kategorien von Vorgängen:

1. Verwaltung veröffentlichter Ressourcen

  • Anwendungen und Remote-Desktops veröffentlichen
  • Zugriffsfilter anwenden (Benutzer/Gruppen, IP-Bereiche, Client-Typen…)
  • Erlaubnis- und Verweigerungsregeln für veröffentlichte Elemente verwalten

2. Zertifikatsverwaltung

  • SSL-Zertifikate erstellen und bereitstellen (manuell oder per Let’s Encrypt)
  • Automatische Verlängerungen konfigurieren
  • Zertifikate Secure Gateways oder Load Balancern zuordnen

3. Multi-Tenant-Architektur

  • Einen Tenant Broker per Skript anbinden
  • Geheime Schlüssel für die Tenant-Registrierung erzeugen
  • Das Onboarding neuer Umgebungen automatisieren

4. Globale Farm-Konfiguration

  • Broker, Gateways und RDS-Server-Pools verwalten
  • Konfigurationen idempotent anwenden
  • Parallels RAS in Ansible, Terraform oder Bereitstellungsskripte einbinden

Darüber hinaus stellt das PowerShell-Modul RASAdmin alle Ressourcen über eine REST-API (Port 20443) bereit, was die Integration aus jeder Sprache und Plattform ermöglicht.

Vorteile der Automatisierung über die PowerShell-API

Zeitersparnis und Konsistenz

Statt für jede neue Umgebung dieselben Schritte von Hand zu wiederholen, garantiert ein PowerShell-Skript bei jeder Ausführung eine identische Konfiguration. Keine Versäumnisse mehr, keine menschlichen Konfigurationsfehler.

Integration in DevOps-Pipelines

RASAdmin-Skripte lassen sich aus Azure DevOps, GitHub Actions, Jenkins oder jedem anderen CI/CD-System ausführen. Das öffnet die Tür zur Provisionierung Ihrer Parallels-RAS-Umgebungen nach dem Prinzip „Infrastructure as Code“.

Nachvollziehbarkeit und Prüfbarkeit

Ein in Git versioniertes Skript ist eine klare Historie jeder Änderung an der Infrastruktur. Im Störungsfall lässt sich eine bestimmte Konfiguration erneut anwenden oder zurücknehmen.

Skalierbarkeit

Folglich bleibt der Administrationsaufwand gleich, ob Sie 5 oder 500 Tenants verwalten. Ein einziges Skript kann Dutzende Umgebungen in wenigen Sekunden bereitstellen.

Plattformübergreifend dank REST

Über PowerShell hinaus erlaubt die REST-API von Parallels RAS die Interaktion aus jedem Tool, das HTTP-Anfragen senden kann: Postman, Python, Webanwendungen usw.

Voraussetzungen

  • Windows Server (oder Windows-Arbeitsplatz) mit PowerShell 5.1 oder PowerShell 7+
  • Installiertes Parallels RAS (Connection Broker vorhanden)
  • Netzwerkzugriff auf den Server mit dem Connection Broker
  • RAS-Administratorkonto mit ausreichenden Rechten

Das Modul RASAdmin installieren

Option 1 — Zunächst: Wenn Sie eine grafische Installation bevorzugen, starten Sie das normale Installationsprogramm von Parallels RAS. Dann wählen Sie „Custom installation“ und die Komponente „Parallels RAS PowerShell“.

Option 2 — Unbeaufsichtigte Installation (MSI):

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

Wichtig: Die Version der RAS-PowerShell-Binärdateien muss exakt der Version des RAS Connection Broker entsprechen. Eine abweichende Version führt zu Verbindungsfehlern.

Das Modul prüfen und importieren

Import-Module RASAdmin
Get-Command -Module RASAdmin

Vollständige Dokumentation: https://docs.parallels.com/landing/ras-powershell-api-guide

Übungsreihe — Praxis

0 — Verbindung und erster Befehl

$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 — Eine Anwendung und einen Desktop veröffentlichen

$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 — Zugriffsfilter hinzufügen

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 — Ein Let’s-Encrypt-Zertifikat erstellen

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 — Einen Tenant Broker anbinden

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

  • Speichern Sie Passwörter niemals im Klartext — nutzen Sie die Windows-Anmeldeinformationsverwaltung, Azure Key Vault oder die Secrets Ihrer CI/CD.
  • Rufen Sie immer Invoke-RASApply auf — ohne diesen Aufruf bleiben die Änderungen ausstehend.
  • Schließen Sie die Sitzung sauber — verwenden Sie Remove-RASSession in einem try/finally-Block.
  • Versionieren Sie Ihre Skripte — legen Sie sie in Git ab, um Nachvollziehbarkeit und Rollback zu ermöglichen.

Offizielle Ressourcen:

Fazit

RASInsider in den Google-Schlagzeilen bevorzugt sehen?RASInsider als bevorzugte Quelle bei Google hinzufügen

War dieser Artikel hilfreich?