如何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,则速度稍快。