Pergunta

Eu tenho usado Remote Desktop Connection para entrar em uma estação de trabalho. Mas neste ambiente, eu não posso usar as opções de energia no Menu Iniciar. Eu preciso de uma maneira alternativa para desligar ou reiniciar.

Como faço para controlar o estado de energia do meu computador através da linha de comando?

Foi útil?

Solução

As formas mais comuns para usar a shutdown comando são:

  • shutdown -s -. Desliga
  • shutdown -r -. Restarts
  • shutdown -l -. Logs off
  • shutdown -h -. Hiberna

    Nota: Não é uma armadilha comum onde os usuários pensam meios -h "ajuda" (que ele faz para todos os outros programas de linha de comando ... exceto shutdown.exe, onde ela significa "hibernação"). Eles, então, executar shutdown -h e acidentalmente desligar seus computadores. Cuidado com isso.

  • shutdown -i - "O modo interativo". Em vez de executar uma ação, ela exibe um diálogo GUI.

  • shutdown -a -. Aborta um comando anterior desligamento

Os comandos acima podem ser combinados com estas opções adicionais:

  • -f - As forças de programas para sair. Impede que o processo de desligamento de ficar presa.
  • -t <seconds> - Define o tempo até o desligamento. Use -t 0 para desligar imediatamente.
  • -c <message> - Adiciona uma mensagem de desligamento. A mensagem vai acabar no log de eventos.
  • -y -. Forças uma resposta "sim" a todas as consultas de desligamento

    Nota: Esta opção não é documentado em qualquer documentação oficial. Foi descoberto por esses usuários StackOverflow .


Eu quero certificar-se de algumas outras respostas muito boas também são mencionados juntamente com este. Aqui eles estão em nenhuma ordem particular.

Outras dicas

Se você estiver em um computador remoto, você pode também querer adicionar a opção -f para força a reinicialização. Caso contrário, sua sessão pode fechar e um aplicativo teimosa pode travar o sistema.

Eu uso isso quando eu quiser forçar uma reinicialização imediata:

shutdown -t 0 -r -f

Para uma mais amigável "dar-lhes algum tempo" opção, você pode usar isto:

shutdown -t 30 -r

Como você pode ver nos comentários, o -f está implícito o tempo limite.

Brutus 2006 é um utilitário que fornece uma interface gráfica para estas opções.

Ninguém opção -m para desligamento remoto mencionado:

shutdown -r -f -m \\machinename

Além disso:

  • O parâmetro -r provoca uma reinicialização (que é geralmente o que você quer em uma máquina remota, desde o início fisicamente pode ser difícil).
  • A opção parâmetro força -f a reinicialização.
  • Você deve ter privilégios apropriados para desligar a máquina remota, é claro.

resposta Original: outubro 2008

Você também tem todo o " rundll32.exe shell32.dll " serie:

(veja update abaixo)

  • rundll32.exe user.exe,**ExitWindows** [desligamento rápido do Windows]
  • rundll32.exe user.exe,**ExitWindowsExec** [Restart do Windows]

    rundll32.exe shell32.dll,SHExitWindowsEx n
    

onde n significa:

  • 0 - LOGOFF
  • 1 - SHUTDOWN
  • 2 - REBOOT
  • 4 - FORCE
  • 8 - POWEROFF

(pode ser combinado -> 6 = 2 + 4 FORCE REBOOT)


Atualização abril 2015 (6+ anos mais tarde):

1800 INFORMATION pontos amáveis ??fora nos comentários :

Não use rundll32.exe para esta finalidade. Espera-se que a função que passou na linha de comando tem uma assinatura do método muito específico - que não coincide com a assinatura do método de ExitWindows.

Raymond Chen escreveu:

A assinatura da função necessária para funções chamadas por rundll32.exe é:

void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
       LPSTR pszCmdLine, int nCmdShow);

Isso não impediu as pessoas de usar rundll32 para chamar funções aleatórias que não foram projetados para ser chamado por rundll32, como user32 LockWorkStation ou user32 ExitWindowsEx.

(oops)

A assinatura da função real para ExitWindowsEx é:

BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);

E para torná-lo cristalina:

Rundll32 é uma sobra do Windows 95, e foi substituído desde pelo menos o Windows Vista, pois viola uma série de diretrizes de engenharia moderna.

Outra pequena dica: quando vai a rota arquivo de lote, eu gostaria de ser capaz de abortar em caso eu executá-lo acidentalmente. Portanto, o arquivo batch invoca o desligamento, mas deixa-lo no prompt de comando depois.

@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r

Além disso, uma vez que é em um timer, você tem aproximadamente a mesma emoção como você faz quando caça em The Oregon Trail .

Quando controlado remotamente em uma máquina (alvo é o Windows XP de qualquer maneira, eu não estou certo sobre destino do Windows Vista), embora Shutdown no menu de início é substituída por Desligue Session ou algo parecido, deve haver um chamado 'Segurança do Windows', que também faz a mesma coisa como Ctrl + Alt + Terminar como apontado para por Owen.

Você provavelmente está ciente disso, mas apenas no caso de:. É muito mais fácil com o tipo de apenas shutdown -r (ou qualquer comando que você como) na caixa "Executar" e pressione Enter

Salva deixando arquivos em lote em torno de mentir em todos os lugares.

Eu estou atrasado para a festa, mas não vi essa resposta ainda. Quando você não quiser usar um arquivo de lote ou digite o comando. Você pode apenas definir o foco para a área de trabalho e, em seguida, usar Alt + F4 .

O Windows irá pedir-lhe o que você quer fazer, selecione desligar ou reiniciar.

Para screenshots e até mesmo um vídeo, consulte: https: / /tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp

Eu ia escrever isso em Notepad ou WordPad por um comando básico de fim de sessão:

@echo off
shutdown -l

Este é basicamente o mesmo que começar a clicar e logoff manualmente, mas é apenas um pouco mais rápido se você tiver o arquivo de lote pronto.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top