Команда командной строки (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.