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

PowerShell でコンピューターをリセットするには、標準のコマンド ライン ツール、WMI、または CIM クラスのいずれかを使用します。To reset a computer in PowerShell, use either a standard command-line tool, WMI or CIM class. PowerShell は単にツールを実行するために使用するだけですが、PowerShell でコンピューターの電力状態を変更する手順には、PowerShell での外部ツールの使用方法に関する重要な詳細も含まれています。Although you are using PowerShell only to run the tool, learning how to change a computer's power state in PowerShell illustrates some of the important details about working with external tools in PowerShell.

コンピューターをロックするLocking a Computer

一般的に入手可能なツールを使ってコンピューターを直接ロックする唯一の方法は、user32.dllLockWorkstation() 関数を呼び出すことです。The only way to lock a computer directly with the standard available tools is to call the LockWorkstation() function in user32.dll:

rundll32.exe user32.dll,LockWorkStation

このコマンドを実行すると、ワークステーションが直ちにロックされます。This command immediately locks the workstation. このコマンドでは、rundll32.exe を使用して Windows DLL を実行 (および、繰り返し使用できるようにそれらのライブラリを保存) することにより、Windows の管理関数のライブラリである user32.dll を実行します。It uses rundll32.exe, which runs Windows DLLs (and saves their libraries for repeated use) to run user32.dll, a library of Windows management functions.

Windows XP の場合など、ユーザーの簡易切り替えが有効なときにワークステーションをロックすると、コンピューターでは、現在のユーザーのスクリーン セーバーが起動するのではなく、ユーザーのログオン画面が表示されます。When you lock a workstation while Fast User Switching is enabled, such as on Windows XP, the computer displays the user logon screen rather than starting the current user's screensaver.

ターミナル サーバーで特定のセッションをシャットダウンするには、tsshutdn.exe コマンド ライン ツールを使用します。To shut down particular sessions on a Terminal Server, use the tsshutdn.exe command-line tool.

現在のセッションからログオフするLogging Off the Current Session

ローカル システム上でセッションからログオフする場合、いくつかの方法が考えられます。You can use several different techniques to log off of a session on the local system. 最も簡単な方法は、リモート デスクトップ/ターミナル サービスのコマンドライン ツールである logoff.exe を使用することです (詳細については、PowerShell プロンプトで「logoff /?」と入力してください)。The simplest way is to use the Remote Desktop/Terminal Services command-line tool, logoff.exe (For details, at the PowerShell prompt, type logoff /?). 現在アクティブなセッションからログオフするには、引数を付けずに「logoff」と入力します。To log off the current active session, type logoff with no arguments.

また、shutdown.exe ツールにログオフのオプションを指定することもできます。You can also use the shutdown.exe tool with its logoff option:

shutdown.exe -l

他に、WMI を使用するというオプションがあります。Another option is to use WMI. Win32_OperatingSystem クラスには、Shutdown メソッドがあります。The Win32_OperatingSystem class has a Shutdown method. このメソッドに 0 フラグを指定して呼び出すと、ログオフが開始されます。Invoking the method with the 0 flag initiates logoff:

Shutdown メソッドの詳細については、「Win32_OperatingSystem クラスの Shutdown メソッド」を参照してください。For more information about the Shutdown method, see Shutdown method of the Win32_OperatingSystem class

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

コンピューターをシャットダウンまたは再起動するShutting Down or Restarting a Computer

通常、コンピューターのシャットダウンと再起動は同じ種類に属するタスクです。Shutting down and restarting computers are generally the same types of task. コンピューターをシャットダウンできるツールであれば、コンピューターを再起動することもできます。逆にコンピューターを再起動できるツールであれば、コンピューターをシャットダウンすることもできます。Tools that shut down a computer will generally restart it as well—and vice versa. PowerShell からコンピューターを簡単に再起動する方法としては、2 とおりの方法があります。There are two straightforward options for restarting a computer from PowerShell. tsshutdn.exe または shutdown.exe に適切な引数を指定して実行することです。Use either tsshutdn.exe or shutdown.exe with appropriate arguments. 詳しい使用方法は、tsshutdn.exe /? または shutdown.exe /? で参照できます。You can get detailed usage information from tsshutdn.exe /? or shutdown.exe /?.

シャットダウン操作と再起動操作は、PowerShell から直接実行することもできます。You can also perform shutdown and restart operations directly from PowerShell as well.

コンピューターをシャットダウンするには、Stop-Computer コマンドを使用しますTo shut down the computer, use the Stop-Computer command

Stop-Computer

オペレーティング システムを再起動するには、Restart-Computer コマンドを使用しますTo restart the operating system, use the Restart-Computer command

Restart-Computer

コンピューターを強制的に直ちに再起動するには、-Force パラメーターを使用します。To force an immediate restart of the computer, use the -Force parameter.

Restart-Computer -Force