Restart-Computer
ローカル コンピューターとリモート コンピューターでオペレーティング システムを再起動します。
構文
Restart-Computer
[-WsmanAuthentication <String>]
[[-ComputerName] <String[]>]
[[-Credential]<PSCredential>]
[-Force]
[-Wait]
[-Timeout <Int32>]
[-For <WaitForServiceTypes>]
[-Delay <Int16>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Restart-Computer
コマンドレットは、ローカル コンピューターとリモート コンピューター上のオペレーティング システムを再起動します。
Restart-Computer
のパラメーターを使用して、再起動操作を実行したり、認証レベルと代替資格情報を指定したり、同時に実行する操作を制限したり、即時再起動を強制したりできます。
Windows PowerShell 3.0 以降では、再起動が完了するまで待ってから次のコマンドを実行できます。 待機タイムアウトとクエリ間隔を指定し、再起動されたコンピューターで特定のサービスが使用可能になるまで待機します。 この機能により、スクリプトや関数で Restart-Computer
を使用することが実用的になります。
例
例 1: ローカル コンピューターを再起動する
Restart-Computer
はローカル コンピューターを再起動します。
Restart-Computer
例 2: 複数のコンピューターを再起動する
Restart-Computer
リモート コンピューターとローカル コンピューターを再起動できます。 ComputerName パラメーターは、コンピューター名の配列を受け入れます。
Restart-Computer -ComputerName Server01, Server02, localhost
例 3: テキスト ファイルからコンピューター名を取得する
Restart-Computer
は、テキスト ファイルからコンピューター名の一覧を取得し、コンピューターを再起動します。 ComputerName パラメーターが指定されていません。 ただし、これは最初の位置パラメーターであるため、パイプラインから送信されるテキスト ファイルのコンピューター名を受け入れます。
Get-Content -Path C:\Domain01.txt | Restart-Computer
Get-Content
では、 Path パラメーターを使用して、テキスト ファイル ( Domain01.txt) からコンピューター名の一覧を取得します。 コンピューター名はパイプラインに送信されます。 Restart-Computer
は、各コンピューターを再起動します。
例 4: テキスト ファイルに一覧表示されているコンピューターの強制的な再起動
次の使用例は、 Domain01.txt
ファイルに一覧表示されているコンピューターを強制的に再起動します。 テキスト ファイルのコンピューター名は変数に格納されます。 Force パラメーターは、直ちに再起動を強制します。
$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force
Get-Content
では、 Path パラメーターを使用して、テキスト ファイル ( Domain01.txt) からコンピューター名の一覧を取得します。 コンピューター名は変数 $Names
に格納されます。 Get-Credential
は、ユーザー名とパスワードの入力を求め、変数 $Creds
に値を格納します。 Restart-Computer
は、 ComputerName および Credential パラメーターを変数と共に使用します。 Force パラメーターを指定すると、各コンピューターが直ちに再起動されます。
例 6: リモート コンピューターを再起動し、PowerShell を待機する
Restart-Computer
はリモート コンピューターを再起動し、再起動されたコンピューターで PowerShell が使用できるようになるまで最大 5 分 (300 秒) 待機してから続行します。
Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2
Restart-Computer
では、 ComputerName パラメーターを使用して Server01 を指定します。 Wait パラメーターは、再起動が完了するまで待機します。 Forは、PowerShell がリモート コンピューターでコマンドを実行できることを指定します。 Timeout パラメーターは、5 分間の待機を指定します。 Delay パラメーターは、リモート コンピューターを 2 秒ごとに照会して、再起動されたかどうかを判断します。
例 7: WsmanAuthentication を使用してコンピューターを再起動する
Restart-Computer
は、 WsmanAuthentication メカニズムを使用してリモート コンピューターを再起動します。
Kerberos 認証は、現在のユーザーがリモート コンピューターを再起動するアクセス許可を持っているかどうかを決定します。 詳細については、「 AuthenticationMechanismを参照してください。
Restart-Computer -ComputerName Server01 -WsmanAuthentication Kerberos
Restart-Computer
は、 ComputerName パラメーターを使用して、リモート コンピューターである Server01 を指定します。
WsmanAuthentication パラメーターは、認証方法を Kerberos として指定します。
パラメーター
-ComputerName
1 つのコンピューター名またはコンピューター名のコンマ区切りの配列を指定します。 Restart-Computer
は、パイプラインまたは変数から ComputerName オブジェクトを受け取ります。
リモート コンピューターの NetBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名、ドット .
、または localhost を入力します。
このパラメーターは、PowerShell リモート処理には依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、 ComputerName パラメーターを使用できます。
ComputerName パラメーターが指定されていない場合は、ローカル コンピューターRestart-Computer
再起動します。
型: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
Restart-Computer
を実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Domain01\User01 などのユーザー名を入力するか、Get-Credential
コマンドレットによって生成されたPSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「 SecureString のセキュリティ保護方法」を 参照してください。
型: | PSCredential |
配置: | 1 |
規定値: | Current user |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Delay
クエリの頻度を秒単位で指定します。 PowerShell は、 For パラメーターで指定されたサービスに対してクエリを実行し、コンピューターの再起動後にサービスを使用できるかどうかを判断します。
このパラメーターは、 Wait および For パラメーターと共にのみ有効です。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Delay パラメーターが指定されていない場合、Restart-Computer
は 5 秒の遅延を使用します。
型: | Int16 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-For
指定したサービスまたは機能がコンピューターの再起動後に使用可能になるまで待機する PowerShell の動作を指定します。 このパラメーターは、 Wait パラメーターでのみ有効です。
このパラメーターの有効値は、次のとおりです。
- 既定値: PowerShell の再起動を待機します。
- PowerShell: コンピューター上の PowerShell リモート セッションでコマンドを実行できます。
- WMI: コンピューターのWin32_ComputerSystem クエリへの応答を受信します。
- WinRM: WS-Management を使用して、コンピューターへのリモート セッションを確立できます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
型: | WaitForServiceTypes |
指定可能な値: | Wmi, WinRM, PowerShell |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
コンピューターの即時再起動を強制します。
型: | SwitchParameter |
Aliases: | f |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Timeout
待機期間を秒単位で指定します。 タイムアウトが経過すると、コンピューターが再起動されていなくても、 Restart-Computer
はコマンド プロンプトに戻ります。
Timeout パラメーターは、Wait パラメーターでのみ有効です。 Timeout は、 Wait パラメーターの無期限の待機期間をオーバーライドします。
このパラメーターは Windows PowerShell 3.0 で導入されました。
型: | Int32 |
Aliases: | TimeoutSec |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Wait
Restart-Computer
は PowerShell プロンプトを抑制し、コンピューターが再起動されるまでパイプラインをブロックします。 スクリプトでこのパラメーターを使用すると、コンピューターを再起動し、再起動が完了したときに処理を続行できます。
Wait パラメーターは、コンピューターが再起動するまで無期限に待機します。 Timeout を使用すると、タイミングと For パラメーターと Delay パラメーターを調整して、再起動されたコンピューターで特定のサービスが使用可能になるまで待機できます。
Wait パラメーターは、ローカル コンピューターを再起動するときに無効です。 ComputerName パラメーターの値にリモート コンピューターとローカル コンピューターの名前が含まれている場合、Restart-Computer
はローカル コンピューターで Wait の終了エラーを生成しますが、リモート コンピューターの再起動を待機します。
このパラメーターは Windows PowerShell 3.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
Restart-Computer
が実行された場合の動作を示します。 Restart-Computer
コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WsmanAuthentication
ユーザー資格情報の認証に使用するメカニズムを指定します。 このパラメーターは Windows PowerShell 3.0 で導入されました。
このパラメーターに使用できる値は、 Basic、 CredSSP、 Default、 Digest、 Kerberos、および Negotiate です。
詳細については、「 AuthenticationMechanismを参照してください。
警告
資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、ユーザー資格情報が認証されるリモート コンピューターに渡される認証で、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。
型: | String |
指定可能な値: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
コンピューター名を含む文字列をこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
メモ
- Windows では、
Restart-Computer
は Windows Management Instrumentation (WMI) Win32_OperatingSystem クラスのWin32Shutdown メソッドを使用します。 この方法では、コンピューターの再起動に使用するユーザー アカウントに対して SeShutdownPrivilege 権限を有効にする必要があります。 - Linux および Mac OS では、
Restart-Computer
は/sbin/shutdown
bash ツールを使用します。
関連リンク
PowerShell