2009-08-11 14:29:03 +0000 2009-08-11 14:29:03 +0000
65
65

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

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

答案 (9)

98
98
98
2009-08-11 14:30:42 +0000
rundll32.exe user32.dll,LockWorkStation

我被警告说这是不推荐的(除了 Microsoft )。这些警告也是围绕着命令的近亲ExitWindowsEx(关闭电脑)。我从来没有遇到过任何问题,但是 YMMV .

Schlump 。狮子狗猴可能是对的。传说中警告说这个代码是强大而危险的。
Nudar: 我的天啊,我们最好只用它三次 我们最好只用它三四次. 最多六次
Nibbler: 但即使只用一次,也会让宇宙粉碎!
Nudar: 知道了。两到三次。

来源)

11
11
11
2009-08-12 15:44:40 +0000

如果你能使用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);
}
```。
6
6
6
2011-01-16 00:18:09 +0000

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

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

2
2
2
2015-08-03 14:10:43 +0000

对于在调度器上运行或在你离开电脑几分钟后,你可以使用timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation创建一个.bat文件,把它放在计划任务中,让触发器在空闲状态下运行。

你可以改变/t xxx.你需要等待的时间。

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

2
2
2
2012-06-01 08:34:25 +0000

由于不建议通过rundll32.exe运行LockWorkStation,所以另一种解决方案是使用 Wizmo 。只要运行。

wizmo lock
1
1
1
2014-06-09 08:52:29 +0000

下面是远程PC的工作bat命令

@echo off
COLOR 3E
@echo Lock Remote PC
SET /P PC=ıp or Host Name: 
\%PC%\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
```。
1
1
1
2014-06-10 19:41:27 +0000

我将电脑设置为自动登录,立即运行 “rundll32.exe user32.dll,LockWorkStation",然后开始加载应用程序(启动文件夹中的单个.CMD文件)。

工作得很好。当我需要重启并且我处于崩溃点时,我重启电脑,去休息等等,当我回来时,我解锁我的电脑。应用程序全部加载完毕。

-3
-3
-3
2011-06-25 14:59:58 +0000

你也可以在本地机器上通过使用UNC路径来锁定远程工作站。

\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation

在Windows 7工作站上被拒绝访问,但在Windows XP上也能使用。

-6
-6
-6
2012-10-30 03:05:05 +0000

在Windows Server 2012上按。Win + L