Mit dem auf dieser Seite verfügbaren PowerShell-Skript lässt sich ein Remote Desktop-Hostserver einer RDS-Farm (2012R2/2016/2019) neu starten.
Verwendung:
- Ändern Sie die beiden Variablen
$ServerBrokerund$ServerHost - Erstellen Sie eine geplante Aufgabe, indem Sie das Skript auf dem Remote-Desktop-Sitzungshost-Server ausführen, der neu gestartet werden soll.
Durch die Verwendung des Skripts wird vermieden, dass sich Ordner mit dem Namen xxxxx.BACKUP-Y im Ordner C:\Users des Servers befinden.
Wenn bei einem Neustart noch Netzlaufwerke eingebunden sind, wird für jede noch geöffnete Sitzung ein temporärer Ordner erstellt.
#
# RDR-IT
# Get close and active sessions of a desktop session host server remotely and reboot the server
# Compatible with RDS farms 2012R2 / 2016/2019
#
$ServerBroker = "Broker.dom.local"
$ServerHost = "RDH-01.dom.local"
# Get sessions from broker
$Sessions = Get-RDUserSession -ConnectionBroker $ServerBroker
# Browse all open sessions and close sessions on the session host server configured in parameter
foreach($Session in $Sessions){
#Write Event
Write-EventLog -LogName "System" -Source "EventLog" -EventId 6013 -EntryType Information -Message "$Session.UserName close session"
# Write-Host $Session.UnifiedSessionID -ForegroundColor Red
Invoke-RDUserLogoff -HostServer $ServerHost -UnifiedSessionID $Session.UnifiedSessionID -Force
}
Restart-Computer