Reinicie un servidor host de sesión de escritorio remoto de una granja de RDS

El script de PowerShell disponible en esta página se usa para reiniciar un servidor host de sesión de escritorio remoto de una granja de servidores RDS 2012R2 / 2016/2019.

Usar:

  • Modifique las dos variables $ServerBroker y $ServerHost
  • Cree una tarea programada ejecutando el script en el servidor Host de sesión de escritorio remoto que debe reiniciarse.

El uso del script evita terminar con las carpetas xxxxx.BACKUP-Y en la carpeta C:\Users en el servidor.

Durante un reinicio, si los UPD aún están montados, se crea una carpeta temporal para cada sesión que aún esté abierta.

#
# 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.

GHinM▶