我一直在使用远程桌面连接进入工作站。但在这种环境下,我无法使用开始菜单中的电源选项。我需要另一种方法来关闭或重新启动。

如何通过命令行控制计算机的电源状态?


当前回答

另一个小技巧:当采用批处理文件路径时,我希望能够中止它,以防意外运行它。因此,批处理文件调用关机,但随后将您留在命令提示符处。

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

此外,由于它是在计时器上,你会得到与你在俄勒冈小径狩猎时相同的刺激。

其他回答

当远程进入一台机器(目标是Windows XP;我不确定目标Windows Vista),尽管开始菜单上的关机被断开连接会话或类似的东西所取代,应该有一个叫做“Windows安全”,它也做同样的事情,如欧文指出的Ctrl + Alt +结束。

原答案:2008年10月

你还得到了所有的“rundll32.exe shell32.dll”系列:

(见下文更新)

rundll32.exe user.exe,**ExitWindows**[快速关闭Windows] rundll32.exe user.exe,**ExitWindowsExec**[重启Windows] n . rundll32.exe shell32.dll,SHExitWindowsEx

其中n代表:

0 -注销 1 -关机 2 -重启 4 -力 8 -关机

(可组合-> 6 = 2+4 FORCE REBOOT)


2015年4月更新(6年以上):

1800 INFORMATION在评论中指出:

不要为此目的使用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项目的悲惨历史》

更明确地说:

什么时候使用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

此外,由于它是在计时器上,你会得到与你在俄勒冈小径狩猎时相同的刺激。

增加了shutdown和rundll32.exe shell32.dll, shexitwindowsexn命令。

LOGOFF -允许您通过会话id或会话名称注销用户

PSShutdown -需要从windows系统内部下载。

Bootim.exe - Windows 10/8关机iu

Change / chgloon—阻止新用户登录或使用另一个会话

NET SESSION /DELETE结束用户的会话

Wusa / forcerstart /quiet - Windows更新管理器,但也可以重新启动机器

断开你的连接

rdpinit -登录您,虽然我不能找到任何文档在此刻

我会在记事本或写字板上写一个基本的注销命令:

@echo off
shutdown -l

这基本上与手动单击start和注销相同,但是如果您已经准备好批处理文件,它会稍微快一些。