Redémarrer un serveur hôte de session bureau à distance d’une ferme RDS

Windows Server 2012R2Windows Server 2016Windows Server 2019

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

Romain Drouche
Romain Drouche
Architecte Système | MCSE: Core Infrastructure
Expert en infrastructures IT avec plus de 15 ans d’expérience sur le terrain. Actuellement Chef de projet Systèmes et Réseaux et Référent SSI (Sécurité des Systèmes d’Information), je mets mon expertise au service de la fiabilité et de la sécurité des environnements technologiques.

Laisser un commentaire