Команда командной строки (cmd) для блокировки компьютера с Windows

Есть ли способ заблокировать компьютер с Windows XP через командную строку? shutdown У команды нет опции для этого.

11 ответов

Решение
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 команда в сеансе удаленного рабочего стола (в Windows 7/Vista), сеанс будет продолжен, но вы просто увидите экран блокировки в окне удаленного рабочего стола.

Поскольку не рекомендуется запускать LockWorkStation через rundll32.exe, другим решением является использование Wizmo. Просто беги:

wizmo lock

Инструмент Wizmo , рекомендованный в другом ответе, довольно старый и больше не обновляется и не обслуживается.

Вместо этого я предлагаю использовать инструмент NirCmd . Это легкая и универсальная утилита командной строки для Windows, которая позволяет вам выполнять массу интересных и полезных задач без отображения пользовательского интерфейса.

Чтобы заблокировать компьютер, просто запустите:

      nircmd.exe lockws

Для запуска в планировщике или через несколько минут после выхода из компьютера вы можете использоватьtimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStationсоздать .bat файл поставить его в запланированное задание, поставить триггер на холостом ходу.

Ты можешь измениться /t xxx, сколько вам нужно ждать.

Благодаря Кевину он использовал команду для выключения, вот так:timeout /t 36000 /nobreak & shutdown /h /f

Используйте Powershell и Windows API:

$code = @'
[DllImport("user32.dll")]
public static extern void LockWorkStation();
'@
$winApi = Add-Type -MemberDefinition $code -Name WinAPI -Namespace Extern -PassThru
$winApi::LockWorkStation()

Вот рабочая команда 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

Я установил на компьютере автоматический вход в систему, сразу же запустил "rundll32.exe user32.dll,LockWorkStation", а затем начал загружать приложения (один файл.CMD в папке автозагрузки).

Работает красиво. Когда мне нужно перезагрузить компьютер, и я нахожусь в критическом состоянии, я перезагружаю компьютер, делаю перерыв и т. Д., А когда возвращаюсь, я разблокирую свой компьютер. Приложения все загружены.

Вы также можете сделать это с локального компьютера, чтобы заблокировать удаленную рабочую станцию, используя путь UNC:

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

Получение доступа запрещено с рабочих станций Windows 7, но работает с Windows XP.

На Windows Server 2012 нажмите: Win + L

Другие вопросы по тегам