Le script PowerShell disponible sur cette page, permet de redémarrer un serveur hôte de session bureau à distance d’une ferme RDS 2012R2/2016/2019.
Utilisation :
- Modifier les deux variables
$ServerBroker
et$ServerHost
- Créer une tâche planifiée en exécutant le script sur le serveur hôte de session de bureau à distance qui doit être redémarré.
L’utilisation du script évite de se retrouver avec des dossiers xxxxx.BACKUP-Y dans le dossier C:\Users du serveur.
Lors d’un redémarrage si des UPD sont encore montés un dossier temporaire est créé pour chaque session encore ouverte.
#
# 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