Desligar Windows remotamente pelo Linux

Publicado por Buckminster em 18/10/2021

[ Hits: 6.257 ]

 


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

Como resolver o erro no CUPS: Unable to get list of printer drivers

Configurar Postgresql para conectar com senha criptografada

Leitor de Teclas em Javascript e PHP

Instalar IRPF 2024 no Linux

Instalar PHP8 no Debian 9 e 10

Leitura recomendada

Instalação e configuração do ICINGA2 e ICINGA WEB2 no Debian 9

Ingressar (join) CentOS 7 em domínio Samba 4 + SSH + sudo

Acesso remoto com IP dinâmico, usando curl, crontab e FreeDNS

Projeto Root - Simulando redes no Packet Tracer

Uso do XFreeRDP

  

Comentários
[1] Comentário enviado por maurixnovatrento 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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts