我一直在使用远程桌面链接进入工做站。 但在此环境中,我没法使用“开始”菜单中的电源选项。 我须要另外一种方法来关闭或重启。 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便可。
保存各处的剩余批处理文件。