Guia de tecnologias

Como desligar remotamente computadores Windows XP a partir de um servidor Linux

5 min read Administração Atualizado 28 Sep 2025
Desligar Windows XP remotamente desde Linux
Desligar Windows XP remotamente desde Linux

Contexto

Por motivos de economia, um laboratório escolar precisa desligar automaticamente computadores Windows XP à noite. O ambiente descrito possui um servidor Red Hat Enterprise Linux 5 (RHEL5) e 29 máquinas Dell Optiplex 745 com Windows XP SP3 que servem como hosts para VMWare Server. A solução proposta usa Samba no servidor Linux para executar um desligamento remoto via RPC.

Pré-requisitos no Windows XP

Siga estes passos em cada máquina cliente Windows XP que deverá ser desligada remotamente.

  1. Desative o Compartilhamento Simples de Arquivos. No Explorador de Arquivos, vá em Este Computador > Ferramentas > Opções de Pasta > Exibir e DESMARQUE “Usar compartilhamento simples de arquivos”.
  2. Configure o Firewall do Windows. Em Painel de Controle > Centro de Segurança > Firewall do Windows:
    • Na aba Exceções, ATIVE “Compartilhamento de Arquivos e Impressoras”.
    • Na aba Avançado > Configurações ICMP, ATIVE “Permitir requisições de eco recebidas” (permitir ping).
  3. Verifique conectividade. O servidor Linux deve conseguir pingar o IP do cliente: ping x.x.x.x
  4. Ajuste políticas locais se necessário. O direito de forçar um desligamento remoto pertence, por padrão, a membros do grupo Administradores. Para alterar: gpedit.msc > Configuração do Computador > Configurações do Windows > Configurações de Segurança > Políticas Locais > Atribuição de Direitos de Usuário > Forçar desligamento por um sistema remoto. Adicione o usuário/grupo desejado.

Importante: Windows XP é um sistema sem suporte. Em ambientes de produção, considere atualizar os clientes por motivos de segurança.

Pré-requisitos no servidor Linux

  1. Instale e configure o Samba corretamente. O Samba fornece o utilitário net que chama procedimentos RPC no Windows. No exemplo, o RHEL5 atua também como servidor WINS para o workgroup.
  2. Recomenda-se atribuir IPs fixos (ou reservas DHCP) aos computadores do laboratório. Facilita controle e scripts.
  3. Configure resolução de nomes com BIND ou entradas /etc/hosts para facilitar administração.

Comando para desligar remotamente

Use o utilitário net do Samba. Exemplo de uso:

net rpc SHUTDOWN -C "enter a comment to display at shutdown" -f -I x.x.x.x -U username%password

Explicação rápida dos parâmetros:

  • SHUTDOWN: ação RPC para desligar.
  • -C “comentário”: texto mostrado para o usuário no Windows antes do desligamento.
  • -f: força o desligamento (força fechamento de programas).
  • -I x.x.x.x: endereço IP do cliente remoto.
  • -U username%password: credencial de um membro do grupo Administradores no Windows.

Nota de segurança: o parâmetro -U com senha em linha de comando expõe credenciais no histórico do shell e na lista de processos. Proteja o uso conforme as recomendações de segurança abaixo.

Exemplo de script e crontab

Exemplo de script simples: /usr/local/bin/shutdown-windows.sh

#!/bin/bash
CREDFILE="/root/.wincreds"  # arquivo com usuário e senha, permissão 600
if [ ! -r "$CREDFILE" ]; then
  echo "Arquivo de credenciais não encontrado ou inacessível"
  exit 1
fi
CRED=$(cat "$CREDFILE")
# lista de IPs ou hostnames, uma por linha
CLIENTS=(
  192.168.1.101
  192.168.1.102
  192.168.1.103
)
for ip in "${CLIENTS[@]}"; do
  echo "Desligando $ip"
  net rpc SHUTDOWN -C "Desligamento noturno agendado" -f -I $ip -U $CRED
done

Crontab para executar todo dia às 23:00 como root:

0 23 * * * /usr/local/bin/shutdown-windows.sh >> /var/log/shutdown-windows.log 2>&1

Recomendações para o arquivo de credenciais (/root/.wincreds): coloque apenas username%password em uma linha, defina chmod 600 e restrinja acesso a root.

Testes e solução de problemas

  • Ping: ping x.x.x.x — confirme resposta ICMP.
  • Teste Samba RPC: net rpc SHUTDOWN -I x.x.x.x -U usuario%senha (ver saída para mensagens de erro).
  • Listagem SMB: smbclient -L //x.x.x.x -U usuario — confirma que a conexão SMB funciona.
  • Logs: verifique /var/log/samba/ e o log de saída do seu script (ex.: /var/log/shutdown-windows.log).
  • Mensagens comuns:
    • Erro de autenticação: verifique usuário/senha e se o usuário tem privilégios de Administrador.
    • Tempo esgotado/sem resposta: verifique firewall, regras de rede e se o serviço RPC está acessível.

Quando uma máquina não responder, tente reiniciar serviços de rede no cliente ou verifique a configuração do Firewall do Windows.

Segurança e boas práticas

  • Nunca armazene credenciais em texto acessível a usuários não confiáveis. Use arquivo com permissão 600 e proprietário root.
  • Use contas de serviço limitadas: crie um usuário Windows com senha forte e conceda apenas o direito “Forçar desligamento por um sistema remoto” em vez de fornecer privilégios de Administrador total.
  • Restrinja acesso de rede: permita conexões RPC-SMB apenas a partir do servidor de gerenciamento (firewall de borda/ACLs).
  • Mantenha o servidor Linux atualizado e monitore logs para detectar acessos indevidos.
  • Considere alternativas mais seguras para ambientes atuais, como gerenciamento via solução de inventário/controles modernos que suportem canais criptografados.

Quando essa abordagem pode falhar

  • Firewall local bloqueando portas RPC/SMB.
  • Compartilhamento simples habilitado impede autenticação necessária.
  • Computador desconectado da rede ou desligado manualmente.
  • Políticas de grupo ou antivírus que bloqueiam solicitações RPC.
  • Windows XP sem suporte e com falhas que inviabilizam o serviço.

Checklist de implantação

Para administradores de rede:

  • Definir IPs fixos ou reservas DHCP para clientes.
  • Configurar Samba e testar utilitário net no servidor.
  • Criar arquivo de credenciais protegido com chmod 600.
  • Testar comando net rpc em cada cliente manualmente.
  • Criar e testar script de desligamento e rotinas cron.
  • Monitorar logs e ajustar firewall.

Para professores/operadores:

  • Garantir que máquinas não tenham trabalhos críticos em andamento antes do horário de desligamento.
  • Avisar alunos sobre agendamento de desligamento.

Pequeno glossário

  • Samba: implementação livre do protocolo SMB/CIFS para interoperabilidade com Windows.
  • RPC: Remote Procedure Call, mecanismo usado para invocar ações remotas (ex.: desligamento).
  • WINS: serviço de resolução de nomes NetBIOS.
  • BIND: servidor DNS amplamente usado no Linux.
  • DHCP: serviço que atribui endereços IP dinamicamente.

Recursos e leituras adicionais

http://www.linuxforums.org/forum/redhat-fedora-linux-help/60324-remote-shutdown-windows-linux-box.html

http://www.lgr.ca/blog/2008/04/shutdown-windows-from-linux.html

http://landofthefreeish.com/linux/howto-remote-shutdown-of-a-windows-computer-from-linux/

http://blog.beausanders.com/?q=node/8

Resumo

Este método usa Samba no servidor Linux para disparar um desligamento remoto em máquinas Windows XP via net rpc. Verifique pré-requisitos no Windows (compartilhamento simples, firewall, políticas) e no Linux (Samba, DNS/DHCP). Proteja credenciais, teste manualmente e agende com crontab.

Importante: Windows XP é obsoleto. Planeje migração para sistemas suportados para melhorar segurança.

Autor
Edição

Materiais semelhantes

Converter Spotify para MP3 com TuneFab
Tutoriais

Converter Spotify para MP3 com TuneFab

RAID com mdadm e LVM: criar e migrar
Administração de sistemas

RAID com mdadm e LVM: criar e migrar

Como criar um aplicativo em 2023 — Guia prático
Desenvolvimento

Como criar um aplicativo em 2023 — Guia prático

Desligar Windows XP remotamente desde Linux
Administração

Desligar Windows XP remotamente desde Linux

Como usar o ChatGPT no Apple Watch
Tutorial

Como usar o ChatGPT no Apple Watch

Criar VPS Windows (RDP grátis) no Google Cloud
Infraestrutura

Criar VPS Windows (RDP grátis) no Google Cloud