Como faço para desligar uma caixa do Windows XP remotamente de uma caixa do Linux?

4

Eu tenho o Windows XP em execução em máquinas virtuais conectadas à minha rede local para fins de teste. Os testes são feitos remotamente. Quando terminar, quero desligá-los remotamente, de uma caixa do Linux.

ETA: Observe que a caixa do Windows executa o XP Home, portanto, não há políticas de segurança / de grupo.

Para os sistemas Linux na mesma configuração, eu faço:

#> ssh root@linux-vm123 'shutdown -h now';

Para os sistemas Windows, eu deveria ser capaz de fazer:

#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U user%pwd

Mas isso me dá o seguinte erro:

Could not connect to server xx.xx.xx.xx
The username or password was not correct.
Connection failed: NT_STATUS_LOGON_FAILURE

O usuário é um administrador e a conta possui uma senha definida. Preciso configurar alguma coisa no sistema Windows?

ETA: Existe uma maneira de testar apenas o login, i. e. sem enviar um comando de desligamento que possa precisar de outros privilégios ou configurações?

    
por Hanno Fietz 11.05.2009 / 12:35

5 respostas

8

O Windows XP Home não permite logon de rede diferente da conta Convidado. Então você tem que habilitá-lo antes de tudo.

Isso me deu um novo erro informando que o "tipo de logon" não era permitido. Tipo de logon foi "código 3", que eu descobri significar "logon de rede". Ativar o compartilhamento de arquivos corrigiu isso, mas não tenho ideia do motivo.

É claro que o Guest não tem permissão para desligar o computador, portanto, a conta deve ser adicionada ao grupo Administradores (o que é obviamente uma violação maciça de todas as diretrizes de segurança, mas lembre-se que isso é completamente local, tudo sob minha mesa e ficar lá), emitindo o seguinte comando no shell:

net localgroup Administrators Guest /ADD

E então , você descobrirá que o comando de desligamento do RPC parece exigir o canal nomeado winreg no destino que parece ser fornecido pelo serviço Registro Remoto, que não está disponível no XP Casa. Então, por enquanto, não há desligamento remoto para mim.

Deve-se notar que o XP Home simplesmente não deve funcionar em uma rede gerenciada e profissional, mas eu estou escolhendo os sistemas para testar o que estou esperando nas máquinas alvo, não o que eu quero usar. No entanto, uma nota nas manpages net / rpcclient teria sido muito gentil ...

    
por 14.05.2009 / 11:53
4

Quase lá. Por favor, escape de suas barras invertidas em uma linha de comando bash.

#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U DOMAIN\user%pwd
#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U MACHINENAME\user%pwd

Isso deve funcionar

    
por 11.05.2009 / 14:11
2

Você está especificando o nome do domínio ou da máquina:

i.e. se a máquina estiver em um domínio

#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U DOMAIN\user%pwd

ou

#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U [email protected]%pwd

ou se a máquina estiver em um grupo de trabalho

#> net rpc SHUTDOWN -I xx.xx.xx.xx -f -U MACHINENAME\user%pwd
    
por 11.05.2009 / 12:56
2

Na minha experiência, há duas coisas que podem estar dando errado. O primeiro e mais comum é se o desligamento remoto é permitido. Na Política de segurança local (Iniciar - > Painel de controle - > Ferramentas administrativas - > Política de segurança local). Expanda Políticas Locais e abra as Opções de Segurança. "Acesso à rede: modelo de compartilhamento e segurança para contas locais" precisa ser definido como Clássico.

Como outra resposta disse, o nome da máquina é obrigatório, mesmo que você já tenha especificado um endereço IP. Tente usar algo assim:

rpcclient --user='Administrator' -I x.x.x.x --command='shutdown' ComputerName
    
por 11.05.2009 / 14:12
0

Um hacker mal-intencionado seria criar um serviço que escutasse em uma porta que fizesse nada mais do que executar o desligamento (talvez psshutdown de o conjunto PsTools se o XP home não incluir tal comando). Qualquer tentativa de conexão a essa porta deve desencadear um desligamento, então é claro que você se aborrece se alguém escutar sua porta de teste ...

Uma abordagem um pouco mais segura seria tornar o Windows mais parecido com o Linux e instalar um servidor SSH (talvez um cygwin completo, talvez um dos pacotes somente para servidores SSH que eu vi na internet)

    
por 16.05.2011 / 18:03

Tags