我一直在使用遠程桌面鏈接進入工做站。 但在此環境中,我沒法使用「開始」菜單中的電源選項。 我須要另外一種方法來關閉或重啓。 shell
如何經過命令行控制計算機的電源狀態? windows
使用shutdown
命令的最經常使用方法是: 函數
shutdown -s
- 關閉。 shutdown -r
- 從新啓動。 shutdown -l
- 註銷。 shutdown -h
- Hibernates。 spa
注意:有一個常見的陷阱,用戶認爲-h
表示「幫助」(它對每一個其餘命令行程序都有...除了shutdown.exe
,這意味着「休眠」)。 而後他們運行shutdown -h
並意外關閉他們的計算機。 注意這一點。 命令行
shutdown -i
- 「交互模式」。 它不顯示操做,而是顯示GUI對話框。 rest
shutdown -a
- 停止先前的shutdown命令。 上面的命令能夠與這些附加選項結合使用: 日誌
-f
- 強制程序退出。 防止關機過程卡住。 -t <seconds>
- 設置關閉以前的時間。 使用-t 0
當即關閉。 -c <message>
- 添加關閉消息。 該消息將在事件日誌中結束。 -y
- 強制全部關閉查詢的「是」答案。 code
注意:此選項未在任何官方文檔中記錄。 它是由這些StackOverflow用戶發現的。 orm
我想確保還提到其餘一些很是好的答案。 在這裏他們沒有特別的順序。 htm
若是您在遠程計算機上,則可能還須要添加-f選項以強制從新啓動。 不然您的會話可能會關閉,頑固的應用程序可能會掛起系統。
每當我想強制當即重啓時我都會使用它:
shutdown -t 0 -r -f
爲了更友好的「給他們一些時間」選項,你可使用這個:
shutdown -t 30 -r
正如您在註釋中看到的那樣,-f由超時隱含。
Brutus 2006是一個爲這些選項提供GUI的實用程序。
原答案:2008年10月
你也獲得了全部 「 rundll32.exe shell32.dll
」 意甲:
(見下面的更新)
rundll32.exe user.exe,**ExitWindows**
[Windows的快速關閉] rundll32.exe user.exe,**ExitWindowsExec**
[從新啓動Windows]
rundll32.exe shell32.dll,SHExitWindowsEx n
其中n
表明:
LOGOFF
SHUTDOWN
REBOOT
FORCE
POWEROFF
(能夠合併 - > 6 = 2 + 4 FORCE REBOOT
)
不要將
rundll32.exe
用於此目的。 它指望您在命令行上傳遞的函數具備很是特定的方法簽名 - 它與ExitWindows
的方法簽名不匹配。
Raymond CHEN寫道:
rundll32.exe
調用的函數所需的函數簽名是:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst, LPSTR pszCmdLine, int nCmdShow);
這並無阻止人們使用
rundll32
來調用那些不是由rundll32
調用的隨機函數,好比user32 LockWorkStation
或者user32 ExitWindowsEx
。
(糟糕)
ExitWindowsEx的實際函數簽名是:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
並使其清晰:
Rundll32
是Windows 95的遺留物,至少從Windows Vista開始就被棄用,由於它違反了許多現代工程指南。
當遠程進入一臺機器時(不管如何目標是Windows XP;我不肯定目標Windows Vista),雖然開始菜單上的Shutdown被Disconnect Session或相似的東西取代,但應該有一個名爲'Windows Security'的與Owen所指向的Ctrl + Alt + End相同。
您可能已經意識到這一點,但以防萬一:只需在「運行」框中鍵入shutdown -r
(或任何您喜歡的命令)並按Enter便可。
保存各處的剩餘批處理文件。