Share via


コンピューターの状態を変更する

このサンプルは Windows プラットフォームにのみ適用されます。

PowerShell でコンピューターをリセットするには、標準のコマンド ライン ツール、WMI、または CIM クラスのいずれかを使用します。 PowerShell は単にツールを実行するために使用するだけですが、PowerShell でコンピューターの電力状態を変更する手順には、PowerShell での外部ツールの使用方法に関する重要な詳細も含まれています。

コンピューターのロック

一般的に入手可能なツールを使ってコンピューターを直接ロックする唯一の方法は、user32.dllLockWorkstation() 関数を呼び出すことです。

rundll32.exe user32.dll,LockWorkStation

このコマンドを実行すると、ワークステーションが直ちにロックされます。 user32.dllLockWorkStation 関数を呼び出すために rundll32.exe が使われます。

Windows XP の場合など、ユーザーの簡易切り替えが有効なときにワークステーションをロックすると、コンピューターでは、現在のユーザーのスクリーン セーバーが起動するのではなく、ユーザーのログオン画面が表示されます。

ターミナル サーバーで特定のセッションをシャットダウンするには、tsshutdn.exe コマンド ライン ツールを使用します。

現在のセッションからのログオフ

ローカル システム上でセッションからログオフする場合、いくつかの方法が考えられます。 最も簡単な方法は、リモート デスクトップ/ターミナル サービスのコマンドライン ツールである logoff.exe を使用することです (詳細については、PowerShell プロンプトで「logoff /?」と入力してください)。 現在アクティブなセッションからログオフするには、引数を付けずに「logoff」と入力します。

また、shutdown.exe ツールにログオフのオプションを指定することもできます。

shutdown.exe -l

他に、WMI を使用するというオプションがあります。 Win32_OperatingSystem クラスには、Shutdown メソッドがあります。 このメソッドに 0 フラグを指定して呼び出すと、ログオフが開始されます。

詳細については、Win32_OperatingSystem クラスの Shutdown メソッドに関する記事を参照してください。

Get-CimInstance -ClassName Win32_OperatingSystem | Invoke-CimMethod -MethodName Shutdown

コンピューターのシャットダウンまたは再起動

コンピューターのシャットダウンと再起動は似たタスクです。 ほとんどのコマンドライン ツールは両方のアクションをサポートしています。 Windows には、コンピューターの再起動に使うコマンドライン ツールが 2 つあります。 tsshutdn.exe または shutdown.exe に適切な引数を指定して実行することです。 詳しい使用方法は、tsshutdn.exe /? または shutdown.exe /? で参照できます。

シャットダウン操作と再起動操作は、PowerShell から直接実行することもできます。

コンピューターをシャットダウンするには、Stop-Computer コマンドを使います。

Stop-Computer

オペレーティング システムを再起動するには、Restart-Computer コマンドを使用します

Restart-Computer

コンピューターを強制的に直ちに再起動するには、-Force パラメーターを使用します。

Restart-Computer -Force