Pular para o conteúdo

Desligar Windows remotamente pelo Linux

Dica publicada em Linux / Redes
Buckminster Buckminster
Hits: 8.534 Categoria: Linux Subcategoria: Redes
  • Indicar
  • Impressora
  • Denunciar

Desligar Windows remotamente pelo Linux

Instale:

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:

sc config RemoteRegistry start=auto
sc start RemoteRegistry


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.

Navegue pelo caminho:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionPoliciesSystem

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
Enter usuario's password:

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 é:

Trying 192.168.1.12...
Connected to 192.168.1.12.
Escape character is '^]'.


É ó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.

Resolver algumas mensagens de erro do SSH

Instalar Google Chrome no Slackware 15

Remapear e/ou trocar teclas no Linux

Plantar o Singrante Google Chrome no Void Linux

Use o Google PageSpeed Insights para verificar um site

Substituindo o NetworkManager pelo iwd (e iwgtk)

Como copiar arquivos do Windows para o Linux

Laptop sem wi-fi no roteador SAGEMCOM da Vivo Fibra [Resolvido]

Descobrindo o endereço IP externo de cada link via terminal

Como configurar proxy no Google Chrome para Linux

#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.

Contribuir com comentário

Entre na sua conta para comentar.