我一直在使用 Remote Desktop Connection 进入工作站。但是在这种环境下,我无法使用开始菜单中的电源选项。我需要另一种关闭或重新启动的方法。
如何通过命令行控制计算机的电源状态?
使用 shutdown
命令的最常见方法是:
shutdown -s — 关闭。
shutdown -r — 重新启动。
shutdown -l — 注销。
关机 -h — 休眠。注意:有一个常见的陷阱,用户认为 -h 的意思是“帮助”(它对所有其他命令行程序都是如此……除了 shutdown.exe,它的意思是“休眠”)。然后他们运行 shutdown -h 并意外关闭了他们的计算机。请注意这一点。
shutdown -i —“交互模式”。它不执行操作,而是显示一个 GUI 对话框。
shutdown -a — 中止之前的关机命令。
上面的命令可以与这些附加选项结合使用:
-f — 强制程序退出。防止关机过程卡住。
-t
-c
-y — 对所有关闭查询强制回答“是”。注意:此选项未记录在任何官方文档中。它是由这些 StackOverflow 用户发现的。
我想确保与这个答案一起提到其他一些非常好的答案。在这里,它们没有特定的顺序。
JosephStyons 的 -f 选项
使用来自 VonC 的 rundll32
迪恩的运行箱
从 Kip 远程关机
如果您在远程计算机上,您可能还需要添加 -f 选项以强制重新启动。否则您的会话可能会关闭,并且顽固的应用程序可能会挂起系统。
每当我想强制立即重新启动时,我都会使用它:
shutdown -t 0 -r -f
要获得更友好的“给他们一些时间”选项,您可以使用以下命令:
shutdown -t 30 -r
正如您在评论中看到的那样,超时暗示了 -f 。
Brutus 2006 is a utility that provides a GUI for these options.
没有人提到远程关机的 -m
选项:
shutdown -r -f -m \\machinename
还:
-r 参数会导致重新启动(这通常是您在远程机器上想要的,因为物理启动它可能很困难)。
-f 参数选项强制重新启动。
当然,您必须具有适当的权限才能关闭远程机器。
\\IP.AD.DR.ESS
访问机器(即打开了必要的端口并且您拥有所需的权限),那么是的,这应该可以在 Internet 上运行。
原始答案: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
代表:
0 - 注销
- 关机
- 重新启动
- 力
- 关机
(可以组合 -> 6 = 2+4 FORCE REBOOT
)
2015 年 4 月更新(6 年后):
1800 INFORMATION 请指出in the comments:
不要为此目的使用 rundll32.exe。它期望您在命令行上传递的函数具有非常具体的方法签名 - 它与 ExitWindows 的方法签名不匹配。
Raymond CHEN 写道:
在 2004 年“不匹配调用约定时会出现什么问题?”:
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);
2011 年:“在人行道上扔垃圾:rundll32 程序的悲惨历史”
并使其一目了然:
在 2013 年“什么时候使用 rundll32 的指导是什么?简单:不要使用它”:
Rundll32 是 Windows 95 的遗留物,至少从 Windows Vista 开始就已被弃用,因为它违反了许多现代工程准则。
另一个小提示:在执行批处理文件路由时,我希望能够中止它,以防我意外运行它。因此,批处理文件会调用关闭,但之后会让您处于命令提示符下。
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
此外,由于它是在计时器上的,因此您会获得与 hunting in The Oregon Trail 时相同的快感。
当远程进入一台机器时(目标是 Windows XP;我不确定目标是 Windows Vista),虽然开始菜单上的 Shutdown 被 Disconnect Session 或类似的东西取代,但应该有一个名为“Windows Security”的也可以与欧文指出的 Ctrl + Alt + End 相同。
您可能已经意识到这一点,但以防万一:在“运行”框中输入 shutdown -r
(或您喜欢的任何命令)并按 Enter 会更容易。
保存到处都是批处理文件。
我迟到了,但还没有看到这个答案。当您不想使用批处理文件或键入命令时。您可以将焦点设置到桌面,然后使用 Alt + F4。
Windows 会询问您要做什么,选择关机或重新启动。
有关屏幕截图甚至视频,请参阅:https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp
shutdown 和 rundll32.exe shell32.dll,SHExitWindowsEx n
命令的一些补充。
LOGOFF - 允许您通过 sessionid 或会话名称注销用户
PSShutdown - 需要从 Windows sysinternals 下载。
bootim.exe - Windows 10/8 关机 iu
change/chglogon - 阻止新用户登录或进行另一个会话
NET SESSION /DELETE - 结束用户会话
wusa /forcerestart /quiet——windows更新管理器也可以重启机器
tsdiscon - 断开您的连接
rdpinit - 将您注销,但目前我找不到任何文档
/<switch>
而不是-<switch>
。帮助部分也使用/
。-f
选项以强制重新启动。否则您的会话可能会关闭,并且顽固的应用程序可能会挂起系统。强制立即重新启动:shutdown -t 0 -r -f
。要获得更友好的“给他们一些时间”选项,您可以使用:shutdown -t 30 -r
。-f
隐含在超时中。 (来自 Mateusz Konieczny 建议的修改)