リモート デスクトップ接続を使用して、ワークステーションにアクセスしています。しかし、この環境ではスタートメニューの電源オプションが使えません。シャットダウンまたは再起動する別の方法が必要です。
コマンド ラインからコンピュータの電源状態を制御するにはどうすればよいですか?
リモート デスクトップ接続を使用して、ワークステーションにアクセスしています。しかし、この環境ではスタートメニューの電源オプションが使えません。シャットダウンまたは再起動する別の方法が必要です。
コマンド ラインからコンピュータの電源状態を制御するにはどうすればよいですか?
shutdown
コマンドを使用する最も一般的な方法は次のとおりです。
shutdown -s
— シャットダウンします。shutdown -r
— 再起動します。shutdown -l
— ログオフします。shutdown -h
— 冬眠します。
注:ユーザーが「ヘルプ」を意味すると考える一般的な落とし穴があります( 「休止状態」を意味する-h
を除いて、他のすべてのコマンドラインプログラムでそうです)。shutdown.exe
その後、彼らは走りshutdown -h
、誤ってコンピューターの電源を切ります。気をつけてください。
shutdown -i
— 「インタラクティブモード」。アクションを実行する代わりに、GUI ダイアログを表示します。
shutdown -a
— 以前のシャットダウン コマンドを中止します。上記のコマンドは、次の追加オプションと組み合わせることができます。
-f
— プログラムを強制的に終了します。シャットダウン プロセスが停止するのを防ぎます。-t <seconds>
— シャットダウンまでの時間を設定します。-t 0
すぐにシャットダウンするために使用します。-c <message>
— シャットダウン メッセージを追加します。メッセージはイベント ログに記録されます。-y
— すべてのシャットダウン クエリに対して「はい」の回答を強制します。
注:このオプションは、どの公式ドキュメントにも記載されていません。これらの StackOverflow ユーザーによって発見されました。
これと一緒に、他のいくつかの本当に良い答えも言及されていることを確認したいと思います。ここでは、順不同です。
リモート マシンを使用している場合は、-f オプションを追加して強制的に再起動することもできます。そうしないと、セッションが閉じて、頑固なアプリがシステムをハングさせる可能性があります。
すぐに再起動したいときはいつでもこれを使用します。
shutdown -t 0 -r -f
より友好的な「時間を与える」オプションについては、これを使用できます。
shutdown -t 30 -r
コメントでわかるように、-f はタイムアウトによって暗示されます。
-m
リモートシャットダウンのオプションについては誰も言及していません:
shutdown -r -f -m \\machinename
また:
-r
パラメーターは再起動を引き起こします (物理的に起動するのが難しい場合があるため、リモート マシンでは通常、これが必要です)。-f
パラメータ オプションは再起動を強制します。元の回答:2008年10月
あなたもすべてを手に入れました「セリエ:rundll32.exe shell32.dll
」
(以下の更新を参照)
rundll32.exe user.exe,**ExitWindows**
[Windowsの高速シャットダウン]rundll32.exe user.exe,**ExitWindowsExec**
[Windowsを再起動します]
rundll32.exe shell32.dll,SHExitWindowsEx n
のn
略:
LOGOFF
SHUTDOWN
REBOOT
FORCE
POWEROFF
(組み合わせることができます-> 6 = 2 + 4 FORCE REBOOT
)
rundll32.exe
この目的には使用しないでください。コマンドラインで渡した関数には、非常に特殊なメソッドシグネチャが含まれている必要があります。これは、のメソッドシグネチャとは一致しませんExitWindows
。
レイモンドチェンは書いた:
によって呼び出される関数に必要な関数シグネチャ
rundll32.exe
は次のとおりです。
void CALLBACK ExitWindowsEx(HWND hwnd, HINSTANCE hinst,
LPSTR pszCmdLine, int nCmdShow);
それは、、のような、または
rundll32
によって呼び出されるように設計されていないランダムな関数を呼び出すために人々が使用することを止めていません。rundll32
user32 LockWorkStation
user32 ExitWindowsEx
(おっと)
ExitWindowsExの実際の関数シグネチャは次のとおりです。
BOOL WINAPI ExitWindowsEx(UINT uFlags, DWORD dwReserved);
そしてそれを明確にするために:
Rundll32
はWindows95の残り物であり、最新のエンジニアリングガイドラインの多くに違反しているため、少なくともWindowsVista以降は非推奨になっています。
もう 1 つの小さなヒント: バッチ ファイル ルートを使用する場合、誤って実行した場合に備えて中止できるようにしたいと考えています。そのため、バッチ ファイルはシャットダウンを呼び出しますが、その後コマンド プロンプトが表示されます。
@echo off
echo Shutting down in 10 seconds. Please type "shutdown /a" to abort.
cmd.exe /K shutdown /f /t 10 /r
さらに、タイマー式なので、オレゴン トレイルで狩りをするときとほぼ同じスリルを味わうことができます。
マシンにリモート接続すると(ターゲットはWindowsXPです。ターゲットのWindowsVistaについてはわかりません)、スタートメニューの[シャットダウン]は[切断セッション]などに置き換えられますが、「Windowsセキュリティ」と呼ばれるものもあります。オーウェンが指摘したCtrl++Altと同じもの。End
ご存知かもしれませんが、念のため、shutdown -r
[実行]ボックスに(または任意のコマンドを)入力してEnterキーを押す方がはるかに簡単です。
バッチファイルをどこにでも置いておくのを節約します。