Windowsマシンをロックするコマンドライン(cmd)コマンド


64

コマンドライン経由でWindows XPマシンをロックする方法はありますか?このshutdownコマンドにはオプションがありません。


1
リモートデスクトップセッションから、<kbd> CTRL </ kbd> + <kbd> ALT </ kbd> + <kbd> END </ kbd>を使用してWindowsセキュリティ画面を表示できるはずですワークステーション、再起動など)。Vista以降では、[スタート]メニューから[Windowsセキュリティ]を選択することもできます。!Windowsセキュリティ]メニュー項目
bobbymcr

回答:


95
rundll32.exe user32.dll,LockWorkStation

これは推奨されていないと警告されました(Microsoftを除く)。警告は、コマンドの近親であるExitWindowsEx(コンピューターをシャットダウンする)にも集中しています。私はそれで問題を抱えたことはありませんが、YMMVです。

Schlump:プードルモンキーは正しいかもしれません。伝説は、コードが強力で危険であることを警告しています。
ヌダー:私の神。3〜4回だけ使用することをお勧めします。6、最大
ニブラー:しかし、1回の使用でも宇宙を粉砕する可能性があります!
Nudarわかった。2、3回。

ソース


3
しばらくの間、訪問した場合に(訪問者ではなく、コンピューター上で)このコマンドを呼び出すWebページをコンピューター上に持っていました。それは基本的には私のコンピューターのリモートロックでした。家を出るときにロックするのを忘れて、弟が訪れていることに気づいたからです。
グラント

2
rundll32を使用してこのような関数を呼び出すことは、実際にはお勧めできません。詳細については、blogs.msdn.com / oldnewthing / archive / 2004/01/15 / 58973.aspxを参照してください。「rundll32」セクションまで少しスクロールします。
荒廃2009

私は一度も問題を抱えたことはなく、Windows 7でも引き続き動作します(修正するのに十分な問題ではないと推測できます)。いずれにしても、コンピューターをロックするための唯一のコマンドラインオプションです(これを実行するプログラムをインストールする必要はありません)。
グラント

2
しかし、なぜそれが推奨されないのですか?
エンドリス

1
これは古い質問であることは認識していますが、Microsoftにはrundll32の使用を文書化した記事があるので、これが推奨される方法のように見えます:docs.microsoft.com/en-us/powershell/scripting/getting-開始/…
Aakash Shah

11

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);
}

:私は、このコマンドを使用してVS2015でこれをコンパイルcmd /s /c ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x64 & cl.exe /W4 LockWorkStation.cpp /link /RELEASE /ENTRY:mainStartup /SUBSYSTEM:CONSOLE kernel32.lib user32.lib"
ケビン・スマイス

6

Windows Vista / 7では、コマンドtsdisconを使用してリモートデスクトップセッションを切断したり、ワークステーションをロックしたりできることに注意してください。

rundll32.exe user32.dll, LockWorkStationリモートデスクトップセッション(Windows 7 / Vista)でコマンドを使用すると、セッションは続行されますが、リモートデスクトップウィンドウにロック画面が表示されるだけです。


TSDISCONは、チェックしたばかりのWindows 2000で導入され、Windows XPでも利用可能です。
ジェローンヴィルトプルイマーズ

2
rundll32.exeをLockWorkStation使用しないでください。呼び出しスタックが混乱し、セッション内にその混乱が残ります。
ジェローンヴィルトプルイマーズ

2

rundll32.exeを介してLockWorkStationを実行することは推奨されないため、別の解決策はWizmoを使用することです。ただ走れ:

wizmo lock

2

スケジューラで実行する場合、またはコンピューターを離れて数分後にtimeout /t 36000 /nobreak & rundll32.exe user32.dll,LockWorkStation.batファイルを作成してスケジュールされたタスクに入れ、トリガーをアイドル状態にすることができます 。

変更できます/t xxx。どれだけ待つ必要があるか。

Kevinのおかげで、彼はシャットダウンのためにコマンドを使用しました。 timeout /t 36000 /nobreak & shutdown /h /f


回答が得られなくてもがっかりしないように、受け入れられた回答があり5歳の質問に回答したことを知っておく必要があります。あなたは何も悪いことをしていません。知ってほしかった。
チャーリーRB

1

リモートPCの作業用バットコマンドを次に示します。

@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

コンピューターを自動的にログオンするように設定し、すぐに「rundll32.exe user32.dll、LockWorkStation」を実行してから、アプリの起動を開始します(起動フォルダー内の単一の.CMDファイル)。

うまく機能します。再起動する必要があり、ブレークポイントにいるときは、コンピューターを再起動したり、休憩したりするなどして、戻ってきたらコンピューターのロックを解除します。すべてのアプリがロードされました。


-3

UNCパスを使用して、ローカルマシンからこれを実行し、リモートワークステーションをロックすることもできます。

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

Windows 7ワークステーションではアクセスが拒否されましたが、Windows XPでは機能します。


3
これにより、リモートワークステーションのディスクからローカルワークステーションでrundll32.exeバイナリが実行され、ローカルワークステーションがロックされます。
hjd

1
これにより、実行中のマシンがロックされます
G-。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.