Есть ли способ заблокировать компьютер с Windows XP через командную строку? Команда shutdown
не имеет опции для этого.
9 ответов
rundll32.exe user32.dll,LockWorkStation
Меня предупредили, что это не рекомендуется (кроме Microsoft). Предупреждения также сосредоточены вокруг близкого родственника команды, ExitWindowsEx (который выключает компьютер). У меня никогда не было проблем с этим, но YMMV.
Шлумп: пудель-обезьяна может быть права. Легенда предупреждает, что код мощный и опасный.
Нудар: Боже мой. Нам лучше использовать его только три или четыре раза. Шесть, макс.
Нибблер: Но даже одно использование может разрушить вселенную!
Нудар: Понял. Два или три раза.
(Источник)
Если у вас есть доступ к компилятору 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);
}
Обратите внимание, что в Windows Vista/7 вы можете использовать команду tsdiscon
для отключения сеанса удаленного рабочего стола /блокировки вашей рабочей станции.
Если вы используете rundll32.exe user32.dll, LockWorkStation
команду LockWorkStation в сеансе удаленного рабочего стола (в Windows 7/Vista), сеанс будет продолжен, но вы увидите только экран блокировки в окне удаленного рабочего стола.
Для запуска в планировщике или после того, как через несколько минут вы покинули компьютер, вы можете использовать timeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation
создать файл .bat
поместить его в запланированное задание, перевести триггер в режим ожидания.
Вы можете изменить /t xxx
. сколько вам нужно ждать.
Благодаря Кевину он использовал команду для выключения, вот так:timeout /t 36000 /nobreak & shutdown /h /f
Поскольку не рекомендуется запускать LockWorkStation через rundll32.exe, другим решением является использование Wizmo. Просто беги:
wizmo lock
Я установил на компьютере автоматический вход в систему, сразу же запустил «rundll32.exe user32.dll, LockWorkStation», а затем начал загружать приложения (одиночные.CMD файл в моей папке автозагрузки).
Работает красиво. Когда мне нужно перезагрузиться, и я нахожусь в критическом состоянии, я перезагружаю компьютер, делаю перерыв и т.д., А когда возвращаюсь, я разблокирую свой компьютер. Приложения все загружены.
Вот рабочая команда 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
Вы также можете сделать это с локального компьютера, чтобы заблокировать удаленную рабочую станцию, используя путь UNC:
\\computername\c$\Windows\System32\rundll32.exe user32.dll,LockWorkStation
Получение доступа запрещено с рабочих станций Windows 7, но работает с Windows XP.
На Windows Server 2012 нажмите: Win + L