Alterando o estado do computador

Este exemplo só se aplica a plataformas Windows.

Para redefinir um computador no PowerShell, use uma ferramenta de linha de comando padrão ou uma classe WMI ou CIM. Embora você esteja usando o PowerShell somente para executar a ferramenta, aprender como alterar o estado de energia do computador no PowerShell ilustra alguns dos detalhes importantes sobre como trabalhar com ferramentas externas no PowerShell.

Bloquear um computador

A única maneira de bloquear um computador diretamente com as ferramentas padrão disponíveis é chamar a função LockWorkstation () em user32.dll:

rundll32.exe user32.dll,LockWorkStation

Esse comando bloqueia imediatamente a estação de trabalho. Ele usa rundll32.exe para chamar a função LockWorkStation em user32.dll.

Quando você bloqueia uma estação de trabalho enquanto a Troca Rápida de Usuário estiver habilitada, como no Windows XP, o computador exibe a tela de logon do usuário em vez de iniciar a proteção de tela do usuário atual.

Para encerrar uma sessão específica em um Servidor de Terminal, use a ferramenta de linha de comando tsshutdn.exe.

Sair da sessão atual

Você pode usar várias técnicas diferentes para sair de uma sessão no sistema local. A maneira mais simples é usar a ferramenta de linha de comando Área de Trabalho Remota/Serviços de Terminal, logoff.exe (para obter mais detalhes, no prompt do PowerShell, digite logoff /?). Para fazer logoff da sessão ativa atual, digite logoff sem argumentos.

Você também pode usar a ferramenta shutdown.exe com a opção de fazer logoff:

shutdown.exe -l

Outra opção é usar o WMI. A classe Win32_OperatingSystem tem um método Shutdown. Chamar o método com o sinalizador 0 inicia o logoff:

Para obter mais informações, confira o Método de desligamento da classe Win32_OperatingSystem.

Get-CimInstance -ClassName Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

Desligar ou reiniciar um computador

Desligar e reiniciar computadores são tarefas semelhantes. A maioria das ferramentas de linha de comando dá suporte a ambas as ações. O Windows inclui duas ferramentas de linha de comando para reiniciar um computador. Use tsshutdn.exe ou shutdown.exe com os argumentos apropriados. Obtenha informações de uso detalhadas em tsshutdn.exe /? ou shutdown.exe /?.

Você também pode executar as operações de desligamento e reinicialização diretamente via PowerShell.

Para desligar o computador, use o comando Stop-Computer

Stop-Computer

Para reiniciar o sistema operacional, use o comando Restart-Computer

Restart-Computer

Para forçar uma reinicialização imediata do computador, use o parâmetro -Force.

Restart-Computer -Force