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

Arquitecto de sistemas | MCSE: Core Infrastructure

Experto en infraestructuras de TI con más de 15 años de experiencia sobre el terreno. Actualmente, como jefe de proyectos de sistemas y redes y referente en seguridad de los sistemas de información (SSI), pongo mi experiencia al servicio de la fiabilidad y la seguridad de los entornos tecnológicos.

GHinM▶