Desligar Windows remotamente pelo Linux

Publicado por Buckminster em 18/10/2021

[ Hits: 740 ]

 


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.

Outras dicas deste autor

GRUB com senha criptografada no Debian Squeeze

Debian Wheezy - Atalho para minimizar todas as janelas abertas

Wireless no Debian Squeeze com WPA2

PostgreSQL 9.1 64 bits - Instalação no Debian Squeeze

Bloquear P2P no IPtables

Leitura recomendada

Site não está online? Teste com o foradoar.org

Compartilhando diretórios em rede com Linux Mint + MATE Desktop

Instalação e configuração do Grafana/Zabbix no Debian 9

Criando um THINCLIENT de baixo custo com Raspberry

Instalar adaptador DWA-131 D-Link no Ubuntu 16.04

  

Comentários
[1] Comentário enviado por mauricio123 em 18/10/2021 - 12:44h


Muito bacana.

___________________________________________________________
[code]Conhecimento não se Leva para o Túmulo.
https://github.com/MauricioFerrari-NovaTrento [/code]

[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