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

Windows Server 2016Windows Server 2019

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
Arquitecto de sistemas | MCSE: Infraestructura básica
Experto en infraestructura de TI con más de 15 años de experiencia en el sector. Actualmente, como Gerente de Proyectos de Sistemas y Redes y experto en Seguridad de Sistemas de Información (ISS), utilizo mi experiencia para garantizar la fiabilidad y seguridad de los entornos tecnológicos.

Deja un comentario