Como desligar o Windows Server 2003 sem usar o RDP?

8

Gostaria de saber se é possível desligar uma caixa do Windows Server 2003, sem precisar fazer login na máquina pela área de trabalho remota.

O servidor está na minha rede, eu sei o endereço IP e o nome do host, bem como a senha do administrador.

Quero desligar clicando duas vezes em um atalho ou executando um script.

Como eu faço isso?

Saajid Ismail
fonte

Respostas:

16

Desligamento remoto ...

  • Usando suas credenciais de conta de domínio (se sua conta de usuário tiver direitos de administrador local na máquina de destino):
    shutdown / s / f / t 30 / m \\ NOME DO SERVIDOR
  • Usando a conta de administrador local da máquina remota (o psexec solicitará a senha):
    psexec \\ NOME DO SERVIDOR -e -h -u NOME DO SERVIDOR \ desligamento do administrador / s / f / t 30
  • Usando uma conta de domínio diferente:
    psexec \\ SERVIDOR-NOME -e -h -u DOMÍNIO-NOME \ nome do usuário shutdown / s / f / t 30

Parâmetros de desligamento explicados ...

  • / s = desligamento (substitua / r se desejar reiniciar)
  • / f = force (não permita que programas em execução ou sessões de usuário ativas interfiram na reinicialização)
  • / t 30 = avisa os usuários logados por 30 segundos (substitua qualquer número inteiro, 0 é um valor aceitável)
  • / m \\ SERVER-NAME = especifique o nome da máquina remota a ser reinicializada

Parâmetros PsExec explicados ...

  • -e = não carrega o perfil do usuário (o perfil do usuário é desnecessário para o comando shutdown)
  • -h = executa tarefas com privilégios elevados (só faz diferença no Vista / Win7 / Server2008)
  • -u SERVER-NAME \ administrator = efetue login como administrador local em SERVER-NAME
  • desligamento / s / f / t 30 = i

Exemplo de arquivo em lote, usando uma conta de administrador local ... (cole no Bloco de notas como rsla.bat)

  • @echo off
    REM rsla.bat - desligamento remoto como administrador local
    REM Este script é um freeware da autoria de Miles Erickson, 7/2010.
    REM Requer que o PsExec.exe esteja disponível em% PATH% (c: \ windows \ system32 é uma opção)
    O REM não pode ser usado para reiniciar um controlador de domínio (os controladores de domínio não possuem contas de administrador local)
    IF (% 1) == () instruções GOTO
    IF (% 1) == (/?) Instruções GOTO
    psexec \\\\% 1 -e -h -u% 1 \\ encerramento do administrador / s / f / t 30
    GOTO end
    : instruções
    Uso do ECHO: rsla SERVER-NAME (você será solicitado a fornecer uma senha)
    :fim
    

Links ...

milhas Erickson
fonte
muito completo. Também estou modificando isso. Verifique também a página desse tipo de arquivos em lotes usando diferentes utilitários . Ele é muito meticuloso também. A página desse cara é um recurso que gerencia o Winboxen que deve ser favorito. Eu encontro toda vez que preciso de algo útil, complicado ou ambos.
songei2f
9

Se você não precisar especificar credenciais, poderá usar o comando SHUTDOWN. Se você precisar especificar credenciais (seu logon não tem permissões ou o computador não está no domínio), use o utilitário PSSHUTDOWN para fazer isso.

K. Brian Kelley
fonte
3

Conta local:

cmd /k wmic /node:"targetcomputerhostname" /user:"AdministratororWhatever" os where primary=true call reboot

Conta do AD com privilégios de administrador local:

cmd /k wmic /node:"targetcomputerhostname" /user:"DomainAccountWithAdminPrivs@fqdn" os where primary=true call reboot

Isso é facilmente portátil como um arquivo em lotes. Lembre-se de que você precisará das exceções remotas apropriadas. Se o psshutdown funcionar, isso também funcionará sem a instalação de nenhum software externo (para não desmontar as ferramentas SysInternals, a única coisa pela qual juro pelo Windows).

songei2f
fonte
Hmmm ... Você gosta do WMIC! ;)
joeqwerty
Em alguns casos, o WMIC é muito valioso. Neste caso - nem tanto.
MDMarra
Extremamente feio, pouco intuitivo e difícil de lembrar. Realmente não tem muita coisa para fazer, não é?
John Gardeniers
Diga o que deseja, mas é a) pré-instalado no XP eb) permite-me evitar o uso de UAC e / ou runas quando uma das minhas contas de domínio é diferente da sessão de logon no meu computador. A julgar pelo fato de ter recebido 0 votos, acho que a beleza é mais importante que o pragmatismo para alguns. Se eu tivesse o meu palpite, a julgar pelos parâmetros disponíveis, o desligamento e coisas como PsShutdown usam as mesmas chamadas de API do WMIC para realizá-lo de qualquer maneira. Mas ei, eu discordo.
precisa saber é o seguinte
+1. O lixo de um homem é o tesouro de outro. Seu método realiza o trabalho, que foi o ponto da pergunta "Como posso fazer isso".
joeqwerty
1

Powershell:

$cred = get-credential Domain\AdminAccount
(gwmi -co %Computername% Win32_OperatingSystem -cr $cred).Shutdown()
Chris S
fonte