我一直在使用远程桌面连接进入一个工作站。但在这种环境下,我无法使用开始菜单中的电源选项。我需要另一种方法来关闭或重新启动。
如何通过命令行控制计算机的电源状态?
使用shutdown命令最常见的方法是:
shutdown
shutdown -s
shutdown -r
shutdown -l
shutdown -h -休眠。
shutdown -h
有一个常见的陷阱,用户认为-h意味着“帮助”(它对其他命令行程序都是这样的……除了shutdown.exe,它的意思是“休眠”)。然后他们运行shutdown -h,不小心关掉了电脑。
-h
shutdown.exe
shutdown -i -“交互模式”它不执行操作,而是显示一个GUI对话框。
shutdown -i
shutdown -a
上面的命令可以与这些附加选项组合:
-f
-t <seconds>
-t 0
-c <message>
-y -强制对所有关机查询回答“是”。
-y
注意:此选项在任何官方文档中都没有记录。
我想确定一些其他的很好的答案也被提到了。这里没有特别的顺序。
如果您在远程计算机上,您可能还想在力重新启动时添加-f选项。否则,您的会话可能会关闭,顽固应用程序可以挂起系统。
每当我想强制立即重新启动时,我都会使用这个方法:
shutdown -t 0 -r -f
对于一个更友好的“给他们一些时间”选项,你可以使用这个:
shutdown -t 30 -r
正如您在注释中看到的,超时暗示了-f。
Brutus 2006是一个为这些选项提供GUI的实用程序
原答案:2008年10月
你还得到了所有“<强> # EYZ0 < / >强”系列:
(见下文更新)
rundll32.exe user.exe,**ExitWindows**
rundll32.exe user.exe,**ExitWindowsExec**[重启Windows]
rundll32.exe user.exe,**ExitWindowsExec**
rundll32.exe shell32.dll,SHExitWindowsEx n
where n stands for:
n
LOGOFF
SHUTDOWN
REBOOT
FORCE
POWEROFF
(can be combined -> 6 = 2+4 FORCE REBOOT)
FORCE REBOOT
1800 INFORMATION kindly points out in the comments:
Don't use rundll32.exe for this purpose. It expects that the function you passed on the command line has a very specific method signature - it doesn't match the method signature of ExitWindows.
rundll32.exe
ExitWindows
Raymond CHEN wrote:
The function signature required for functions called by rundll32.exe is:
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst, LPSTR pszCmdLine, int nCmdShow);
这并没有阻止人们使用rundll32来调用不是由rundll32来调用的随机函数,比如user32 LockWorkStation或user32 ExitWindowsEx。
rundll32
user32 LockWorkStation
user32 ExitWindowsEx
(哦)
ExitWindowsEx的实际函数签名是:
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
更明确地说:
Rundll32是Windows 95遗留下来的,它至少从Windows Vista开始就被弃用了,因为它违反了许多现代工程准则。
Rundll32
当远程到一台机器(目标是Windows XP反正;我不确定目标Windows Vista),虽然开始菜单上的关闭被断开会话或类似的东西所取代,应该有一个叫做“Windows安全”,它也做着与Owen指出的Ctrl + Alt + 结束相同的事情。
您可能已经意识到这一点,但以防万一:在“Run”框中键入shutdown -r(或任何您喜欢的命令)并按enter要容易得多。
节省留下批处理文件到处躺着。
没有人提到远程关机的-m选项:
-m
shutdown -r -f -m \\machinename
另外:
-r
我将在记事本或写字板中写一个基本的注销命令:
@echo off shutdown -l
这基本上与手动单击start和注销相同,但是如果您已经准备好批处理文件,它会稍微快一些。
另一个小技巧:当采用批处理文件路径时,我希望能够中止它,以防意外运行它。因此,批处理文件调用关机,但随后将您留在命令提示符处。
@echo off echo Shutting down in 10 seconds. Please type "shutdown /a" to abort. cmd.exe /K shutdown /f /t 10 /r
另外,由于它是在计时器上,你得到了相同的刺激,你做在俄勒冈小道打猎。
Windows会询问你想要做什么,选择关闭还是重新启动。
要截图甚至视频,请参见:https://tinkertry.com/how-to-shutdown-or-restart-windows-over-rdp
关闭和rundll32.exe shell32.dll,SHExitWindowsEx n命令的一些补充。
< >强下线< / >强 -允许您通过会话id或会话名称注销用户
< >强PSShutdown < / >强 -需要从windows系统内部下载。
< >强bootim.exe < / >强 - windows 10/8关闭iu
< >强变化/ chglogon < / >强 -防止新用户登录或使用另一个会话
NET SESSION /DELETE -结束用户的会话
wusa / forcerstart /quiet - windows更新管理器,但也可以重新启动机器
< >强tsdiscon < / >强 -断开连接
rdpinit -日志你退出,虽然我找不到任何文件在此刻