Reiniciar um servidor Host de Sessão de Ambiente de Trabalho Remoto num farm de RDS

Windows Server 2012 R2Windows Server 2016Windows Server 2019

O script PowerShell disponível nesta página permite reiniciar um servidor de sessões de ambiente de trabalho remoto de um conjunto de servidores RDS 2012R2/2016/2019.

Utilização:

  • Altere as duas variáveis$ServerBroker e $ServerHost
  • Crie uma tarefa agendada executando o script no servidor de sessão de ambiente de trabalho remoto que deve ser reiniciado.

A utilização do script evita a criação de pastas xxxxx.BACKUP-Y na pasta C:\Users do servidor.

Durante um reinício, se ainda houver UPDs montados, é criada uma pasta temporária para cada sessão ainda aberta.

#
# 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
Arquiteto de Sistemas | MCSE: Infraestrutura Essencial
Especialista em infraestruturas de TI com mais de 15 anos de experiência na área. Atualmente, como Gestor de Projetos de Sistemas e Redes e especialista em Segurança de Sistemas de Informação (SSI), utilizo a minha expertise para garantir a fiabilidade e a segurança dos ambientes tecnológicos.

Deixe um comentário