如何closures – 重新启动 – 通过bat文件注销Windows?

我一直在使用远程桌面连接进入工作站,但是我不能在开始菜单中使用关机/重启function。

我在下面的答案中提供了一些非常有用的选项。

注意:我想确保一些真正的好答案和我自己一起提到。

在这里他们没有特定的顺序。

  • 强制closures JosephStyons
  • 从VonC 执行DLL文件
  • 从Dean 的Run Box中运行它
  • 从Kip 远程closures

以下是如何通过batch file来完成关机function:

  • shutdown -r – 重新启动
  • shutdown -s – 关机
  • shutdown -l – 注销
  • shutdown -t xx – 其中xx是等待关机/重启/注销的秒数
  • shutdown -i – 给你一个对话框来填写你想要使用的function
  • shutdown -a – 中止以前的关机命令….非常方便!
  • shutdown -h – hibernate。 容易的错误 – 这不是帮助
  • shutdown -y – 在closures时删除所有提示(帮助在任何文档中都不可用)

其他选项:

  • -f – 强制select的动作
  • -t <seconds> – 设置时间关机。 使用-t 0表示“now”

如果您在远程计算机上,则可能还需要添加-f选项来强制重新启动。 否则,你的会话可能会closures,一个顽固的应用程序可能会挂起系统。

每当我要强制立即重新启动时,我都会使用它:

 shutdown -t 0 -r -f 

为了更友好的“给他们一些时间”选项,你可以使用这个:

 shutdown -t 30 -r 

正如你在评论中看到的那样,-f被超时隐含。

Brutus 2006是一个为这些选项提供GUI的工具。

没有人提到远程关机的-m选项:

 shutdown -r -f -m \\machinename 

也:

  • -r参数会导致重新启动(这通常是远程计算机上的要求,因为物理启动可能很困难)。
  • -f参数选项强制重启。
  • 当然,您必须拥有适当的权限才能closures远程计算机。

原始答案:2008年10月

你也得到了所有的 rundll32.exe shell32.dll 意甲:

(见下面的更新)

  • rundll32.exe user.exe,**ExitWindows** [Windows快速closures]
  • rundll32.exe user.exe,**ExitWindowsExec** [重新启动Windows]

     rundll32.exe shell32.dll,SHExitWindowsEx n 

其中n代表:

  • 0 – LOGOFF
  • 1 – SHUTDOWN
  • 2 – 重新启动
  • 4 – FORCE
  • 8 – POWEROFF

(可以合并 – > 6 = 2 + 4 FORCE REBOOT


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

1800信息请在评论中指出 :

不要为此使用rundll32.exe 。 它期望您在命令行上传递的函数具有非常特定的方法签名 – 它与ExitWindows的方法签名不匹配。

雷蒙德陈写道:

  • 在2004年“ 当你不符合通话惯例时会出现什么问题? ”:

rundll32.exe调用的函数所需的函数签名是:

 void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst, LPSTR pszCmdLine, int nCmdShow); 

这并没有阻止人们使用rundll32调用不被rundll32调用的随机函数,如user32 LockWorkStationuser32 ExitWindowsEx

(糟糕)

ExitWindowsEx的实际function签名是:

 BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved); 
  • 2011年:“ 在人行道上扔垃圾:Rundll32计划的悲惨历史 ”

并使其清晰:

  • 在2013年“ 什么时候使用rundll32的指导?简单:不要使用它 ”:

Rundll32是从Windows 95剩下的,至less从Windows Vista开始已经被弃用,因为它违反了很多现代工程指南。

另一个小技巧:当去batch file的路线,我喜欢能够中止它的情况下,我不小心运行。 所以这个batch file会调用关机,然后在命令提示符下留下。

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

另外,因为它是在一个计时器上,所以你在俄勒冈小径(The Oregon Trail)里捕猎的时候会有同样的快感。

你可能知道这一点,但以防万一:只要键入“closures-r”(或任何你喜欢的命令)到“运行”框中,然后按回车就容易多了。

保存将batch file放在任何地方。

当远程进入一台机器(无论如何是Windows XP的目标,我不知道目标Windows Vista),虽然开始菜单上的关机断开会话或类似的东西取代,应该有一个叫做“Windows安全”与Owen指出的Ctrl + Alt + End一样。

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

 @echo off shutdown -l 

这与手动点击启动和注销基本相同,但是如果您已经准备好batch file,则速度稍快。