Desligar Windows remotamente pelo Linux [Dica]
[ Hits: 740 ]
sudo apt-get install samba smbclient telnet
NOTA: usei o apt-get, use o comando da tua distribuição.
Na máquina com o Windows abra o prompt como administrador e execute:
Dependendo da versão do Windows usamos da criatividade e acrescentamos um registro caso der a mensagem WERR_CALL_NOT_IMPLEMENTED.
Por via das dúvidas, já crie o registro para não perder a viagem e evitar a mensagem.
Pressione a tecla Windows e a tecla "r", abrirá o menu Executar, digite regedit. Abrirá o editor de registro do Windows.
Com System selecionado clique com o botão direito do mouse dentro do espaço branco no lado direito > Novo > Valor DWORD (32 bits) e nomeie como LocalAccountTokenFilterPolicy e depois clique em cima com o botão direito (opção Modificar...) e modifique o valor para "1". Depois, caso quiser desfazer, é só excluir o registro ou colocar em 0 (zero).
Reinicie a máquina Windows e execute na máquina Linux:
# net rpc shutdown -C "Não fui com a tua cara, estou me desligando!" -t 60 -f -I 192.168.1.12 -U usuário%senha
O parâmetro -C é opcional, pois somente envia uma mensagem escrita.
O parâmetro -t 60 coloca o tempo de 60 segundos para o desligamento, sem este parâmetro a máquina é desligada na hora.
O parâmetro -f força o desligamento da máquina remota fechando qualquer programa aberto.
O parâmetro -I (i maiúsculo) é o IP da máquina remota.
O parâmetro -U é o usuário e a senha da maquina remota separados pelo símbolo porcentagem (%).
O comando abaixo desliga na hora:
# net rpc shutdown -f -I 192.168.1.12 -U usuário%senha
O mais aconselhável é omitir a senha porque ela será solicitada na linha de comando, o que é mais seguro, pois ninguém verá a senha:
# net rpc shutdown -f -I 192.168.1.12 -U usuário
Para abortar o desligamento remoto:
# net rpc abortshutdown -f -I 192.168.1.12 -U usuário%senha
No meio disso tudo, pode usar o telnet para verificar se a conexão está indo:
# telnet 192.168.1.12 445
A resposta de que a conexão está indo é:
É óbvio que, nesse esquema, as máquinas precisam estar na mesma rede e você precisa ter acesso físico pelo menos uma vez à máquina remota.
Porém, a partir daí o céu é o limite para acessarmos as máquinas remotamente; lembrando que a internet é uma grande rede.
[1] Comentário enviado por mauricio123 em 18/10/2021 - 12:44h
[2] Comentário enviado por linoxman em 18/10/2021 - 18:58h
Ótima dica. Usei muito isso para desligar laboratórios de informática com vários Windows, fazendo um for em bash em uma lista de ips, e depois colocando isso em uma página em php pro pessoal fazer por conta.