Windows Server Remote Desktop Services

6 Kernbereiche
Die wichtigsten RDS-Tools, Rollen und Befehle: RDS-Rollen · Session Host · Gateway · RDWeb · PowerShell · Lizenzierung & Diagnose Remote Desktop Services (RDS) ermöglichen den Zugriff auf Desktops und Anwendungen über das Netzwerk. Diese Cheatsheet fasst die wichtigsten Rollen, Tools und Befehle für die tägliche Administration zusammen.

RDS-Rollen – Die Komponenten von RDS

Session Host · Gateway · RDWeb · Licensing · Connection Broker
Install-WindowsFeature -Name RDS-RD-Server

Remote Desktop Services bestehen aus mehreren Rollen, die zusammen eine vollständige Remote-Desktop-Infrastruktur bilden.

RDS-Rollen im Überblick

Rolle Beschreibung Befehl (PowerShell)
Session Host Stellt Desktops und Anwendungen bereit (RDSH) RDS-RD-Server
Gateway Secure RDP over HTTPS (RD Gateway) RDS-Gateway
RDWeb Webportal für Remote-Apps und Desktops RDS-Web-Access
Licensing Verwaltung von RDS-CALs RDS-Licensing
Connection Broker Verteilt Sitzungen auf Session Hosts RDS-Connection-Broker
Virtualization Host Host für virtuelle Desktops (VDI) RDS-Virtualization
Beispiele
# RDS Session Host installieren
Install-WindowsFeature -Name "RDS-RD-Server" -IncludeManagementTools
# RD Gateway installieren
Install-WindowsFeature -Name "RDS-Gateway" -IncludeManagementTools
# RDWeb installieren
Install-WindowsFeature -Name "RDS-Web-Access" -IncludeManagementTools
# Alle installierten RDS-Rollen anzeigen
Get-WindowsFeature | Where-Object {$_.Name -like "RDS-*" -and $_.Installed -eq $true}
Tipp: Die RDS-Rollen können auf einem einzelnen Server oder verteilt auf mehrere Server installiert werden. Für Produktivumgebungen wird eine Verteilung empfohlen.

Session Host – Desktops & Anwendungen bereitstellen

RDSH · Session Collection · RemoteApp
New-RDSessionCollection -CollectionName "Office-Apps" -SessionHost "SRV-RDSH-01"

Session Host stellt Desktops und Remote-Apps für Benutzer bereit. Mehrere Session Hosts können zu einer Collection zusammengefasst werden.

Beispiele
# Neue Session Collection erstellen
New-RDSessionCollection -CollectionName "Office-Apps" -SessionHost "SRV-RDSH-01"
# Alle Collections anzeigen
Get-RDSessionCollection
# RemoteApp zu einer Collection hinzufügen
New-RDRemoteApp -CollectionName "Office-Apps" -DisplayName "Word" -FilePath "C:\Program Files\Microsoft Office\root\Office16\WINWORD.EXE"
# Session Host zu Collection hinzufügen
Add-RDSessionHost -CollectionName "Office-Apps" -SessionHost "SRV-RDSH-02"
# Aktive Sitzungen anzeigen
Get-RDUserSession -ConnectionBroker "SRV-CB-01"
Tipp: Für RemoteApps sollten Sie die Anwendungen vor der Bereitstellung testen. Verwenden Sie Collections, um Benutzergruppen mit unterschiedlichen Anwendungen zu versorgen.

RDS Gateway – Sicherer Zugriff von außen

RD Gateway · HTTPS · RDP over HTTPS · CAP · RAP
Set-RDGatewayConfiguration -GatewayExternalFqdn "rdgateway.domain.com"

RD Gateway ermöglicht sicheren RDP-Zugriff über HTTPS (Port 443) – perfekt für externe Benutzer ohne VPN.

Beispiele
# Gateway-Konfiguration anzeigen
Get-RDGatewayConfiguration
# Gateway-FQDN setzen (für SSL-Zertifikat)
Set-RDGatewayConfiguration -GatewayExternalFqdn "rdgateway.domain.com"
# Verbindungsautorisierungsrichtlinie (CAP) erstellen
New-RDGatewayConnectionAuthorizationPolicy -Name "InterneBenutzer" -UserGroup "DOMAIN\InterneBenutzer"
# Ressourcenautorisierungsrichtlinie (RAP) erstellen
New-RDGatewayResourceAuthorizationPolicy -Name "RDSH-Server" -ResourceGroup "SRV-RDSH-01"
# Gateway-Status prüfen
Get-Service -Name "TSGateway"
Tipp: Für das RD Gateway wird ein SSL-Zertifikat benötigt, das auf den externen FQDN ausgestellt ist. Verwenden Sie ein öffentliches Zertifikat für externe Zugriffe.

RDWeb – Webportal für Remote-Apps

RDWeb · Web Access · RemoteApp-Übersicht
Set-RDWebAccess -WebAccessName "https://rdweb.domain.com/RDWeb"

RDWeb (Remote Desktop Web Access) ist ein Webportal, über das Benutzer auf Remote-Apps und Desktops zugreifen können – ohne lokalen RDP-Client.

Beispiele
# RDWeb-URL anzeigen
Get-RDWebAccess
# RDWeb für externe Benutzer konfigurieren
Set-RDWebAccess -WebAccessName "https://rdweb.domain.com/RDWeb"
# IIS-Bindungen für RDWeb prüfen
Get-IISSite -Name "RDWeb" | Select-Object Bindings
# RDWeb über Browser aufrufen (Client)
# https://rdweb.domain.com/RDWeb
Tipp: RDWeb funktioniert am besten mit modernen Browsern (Chrome, Edge, Firefox). Für die beste Benutzererfahrung sollten Sie die RDWeb-Seite an das Corporate Design anpassen.

PowerShell-Cmdlets – RDS mit PowerShell verwalten

Get-RDSessionCollection · New-RDSessionCollection · Get-RDUserSession
Get-RDSessionCollection Get-RDUserSession -ConnectionBroker "SRV-CB-01"

PowerShell-Cmdlets für die RDS-Verwaltung – die moderne und automatisierbare Alternative zur GUI.

RDS-PowerShell-Cmdlets

Cmdlet Beschreibung
Get-RDSessionCollection Alle Session Collections anzeigen
New-RDSessionCollection Neue Session Collection erstellen
Get-RDUserSession Aktive Benutzersitzungen anzeigen
Get-RDRemoteApp RemoteApps einer Collection anzeigen
New-RDRemoteApp RemoteApp hinzufügen
Set-RDRemoteApp RemoteApp ändern
Get-RDGatewayConfiguration Gateway-Konfiguration anzeigen
Get-RDWebAccess RDWeb-Konfiguration anzeigen
Beispiele
# Alle Session Collections anzeigen
Get-RDSessionCollection
# Benutzersitzungen anzeigen
Get-RDUserSession -ConnectionBroker "SRV-CB-01"
# RemoteApps einer Collection anzeigen
Get-RDRemoteApp -CollectionName "Office-Apps"
# Benutzersitzung beenden
Invoke-RDUserLogoff -HostServer "SRV-RDSH-01" -UnifiedSessionID 123
# RDS Deployment-Konfiguration anzeigen
Get-RDDeployment
Tipp: PowerShell-Cmdlets sind ideal für die Automatisierung von RDS-Aufgaben – z.B. für das Anlegen von Collections bei neuen Projektumgebungen.

Lizenzierung & Diagnose – RDS-Lizenzen verwalten & Probleme beheben

RDS Licensing · Get-RDLicense · RDS-Diagnose
Get-RDLicense Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-Licensing/Operational"

RDS-Lizenzierung ist ein kritischer Bestandteil von RDS. Ohne gültige Lizenzen können sich Benutzer nicht verbinden. Die Diagnose-Tools helfen bei der Fehlersuche.

Beispiele
# RDS-Lizenzen anzeigen
Get-RDLicense
# Lizenzierungsmodus setzen
Set-RDLicenseMode -LicenseMode "PerUser"
# Lizenzierungs-Logs anzeigen
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-Licensing/Operational" -MaxEvents 20
# RDS-Diagnose (Event ID 1000 - Lizenzprobleme)
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-LocalSessionManager/Operational" -FilterXPath "*[System[EventID=1000]]"
# Lizenzierungs-Statistiken
Get-WinEvent -LogName "Microsoft-Windows-TerminalServices-Licensing/Operational" | Group-Object Id | Sort-Object Count -Descending
Tipp: RDS-Lizenzierungsprobleme treten häufig nach der Installation von RDS auf. Prüfen Sie den Lizenzierungsmodus und ob der Lizenzserver erreichbar ist (Port 135, 445).

RDS-Kernkonzepte

RDSH Session Host
Desktop-/App-Bereitstellung
Collection Gruppe von Session Hosts
Lastverteilung & Failover
RemoteApp Einzelne Anwendung
Statt vollständigem Desktop
Gateway Sicherer externer Zugriff
RDP over HTTPS
RDWeb Webportal
Browser-Zugriff
CAL Client Access License
Per User oder Per Device

Quick Summary

RDS-Rollen
Komponenten
Session Host
Desktops & Apps
Gateway
Externer Zugriff
RDWeb
Webportal
Get-RD*
PowerShell
Lizenzen
Diagnose
Install-WindowsFeature RDS-RD-Server · New-RDSessionCollection -CollectionName "Apps" -SessionHost "SRV-RDSH-01"