用于锁定 Windows 机器的命令行(cmd)命令

用于锁定 Windows 机器的命令行(cmd)命令

有没有办法通过命令行锁定 Windows XP 机器?该shutdown命令没有相关选项。

答案1

rundll32.exe user32.dll,LockWorkStation

有人警告我,不建议这么做(除非微软)。警告也集中在命令的近亲 ExitWindowsEx(关闭计算机)上。我从来没有遇到过任何问题,但是年龄变化率

施伦普:狮子狗可能是对的。传说警告说,该密码强大而危险。
努达尔:天哪。我们最好只用三四次。最多六次。
尼布勒:但即使一次使用也可能摧毁宇宙!
努达尔:明白了。两三次了。

来源

答案2

如果您可以访问 Visual Studio 的 C++ 编译器,这里是(极其复杂的)源代码:

//
//LockWorkStation.cpp
//
//Locks the console.
//
//To compile (VC++ 2003, on one line):
//
//      cl.exe /W4 LockWorkStation.cpp /link /RELEASE /OPT:REF /OPT:NOWIN98
//                  /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib
//

#if !defined(_WIN32_WINNT) || (_WIN32_WINNT < 0x0500)
    #undef _WIN32_WINNT
    #define _WIN32_WINNT 0x0500 
#endif
#include <windows.h> 

void mainStartup(void)
{
    LockWorkStation(); 
    ExitProcess(0);
}

答案3

请注意,在 Windows Vista/7 中,您可以使用命令tsdiscon断开远程桌面会话/锁定您的工作站。

如果您rundll32.exe user32.dll, LockWorkStation在远程桌面会话中使用该命令(在 Windows 7/Vista 中),会话将继续,但您只会在远程桌面窗口中看到锁定屏幕。

答案4

为了在调度程序上运行或离开计算机几分钟后,您可以使用 timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation 创建的.bat文件将其放入计划任务中,并将触发器置于空闲状态运行。

您可以更改/t xxx需要等待的时间。

感谢 Kevin,他使用了关机命令,即: timeout /t 36000 /nobreak & shutdown /h /f

相关内容