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
ローカル コンピューターを再起動します。
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
を実行する前に確認を求めるメッセージが表示されます Restart-Computer
。
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Domain01\User01 などのユーザー名を入力するか、コマンドレットによって生成された PSCredential オブジェクトをGet-Credential
入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに 格納され、パスワードは SecureString として格納されます。
注意
SecureString データ保護の詳細については、「SecureString のセキュリティ保護方法」を参照してください。
Type: | PSCredential |
Position: | 1 |
Default value: | Current user |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Delay
クエリの頻度を秒単位で指定します。 PowerShell は 、For パラメーターで指定されたサービスに対してクエリを実行し、コンピューターの再起動後にサービスを使用できるかどうかを判断します。
このパラメーターは、 Wait パラメーターと For パラメーターと共にのみ有効です。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Delay パラメーターが指定されていない場合は、 Restart-Computer
5 秒の遅延が使用されます。
Type: | Int16 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-For
指定したサービスまたは機能がコンピューターの再起動後に使用可能になるまで待機する PowerShell の動作を指定します。 このパラメーターは Wait パラメーターでのみ有効です。
このパラメーターの有効値は、次のとおりです。
- 既定値: PowerShell の再起動を待機します。
- PowerShell: コンピューター上の PowerShell リモート セッションでコマンドを実行できます。
- WMI: コンピューターのWin32_ComputerSystem クエリへの応答を受信します。
- WinRM: WS-Management を使用して、コンピューターへのリモート セッションを確立できます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | WaitForServiceTypes |
Accepted values: | Wmi, WinRM, PowerShell |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
コンピューターを強制的に直ちに再起動します。
Type: | SwitchParameter |
Aliases: | f |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Timeout
待機期間を秒単位で指定します。 タイムアウトが経過すると、 Restart-Computer
コンピューターが再起動されていなくても、コマンド プロンプトに戻ります。
Timeout パラメーターは Wait パラメーターでのみ有効です。 タイムアウト は、 Wait パラメーターの無期限の待機期間をオーバーライドします。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | Int32 |
Aliases: | TimeoutSec |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Wait
Restart-Computer
は PowerShell プロンプトを抑制し、コンピューターが再起動されるまでパイプラインをブロックします。 スクリプトでこのパラメーターを使用すると、コンピューターを再起動し、再起動が完了したときに処理を続行できます。
Wait パラメーターは、コンピューターの再起動を無期限に待機します。 タイムアウトを使用して、タイミングと For パラメーターと Delay パラメーターを調整して、再起動されたコンピューターで特定のサービスが使用可能になるまで待機できます。
Wait パラメーターは 、ローカル コンピューターを再起動するときに無効です。 ComputerName パラメーターの値にリモート コンピューターとローカル コンピューターの名前が含まれている場合は、ローカル コンピューターで待機するが、Restart-Computer
リモート コンピューターの再起動を待機するため、終了しないエラーが生成されます。
このパラメーターは Windows PowerShell 3.0 で導入されました。
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
が実行された場合の動作を Restart-Computer
示します。 コマンドレットは Restart-Computer
実行されません。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
ユーザー資格情報の認証に使用するメカニズムを指定します。 このパラメーターは Windows PowerShell 3.0 で導入されました。
このパラメーターに使用できる値は、 Basic、 CredSSP、 Default、 Digest、 Kerberos、 Negotiate です。
詳細については、「 AuthenticationMechanism」を参照してください。
警告
資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、認証対象のリモート コンピューターにユーザー資格情報が渡される際に、リモート ネットワーク共有へのアクセスなど、複数のリソースでの認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。
Type: | String |
Accepted values: | Basic, CredSSP, Default, Digest, Kerberos, Negotiate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
入力
コンピューター名を含む文字列をこのコマンドレットにパイプできます。
出力
None
このコマンドレットは、出力を返しません。
メモ
- Windows では、
Restart-Computer
Windows Management Instrumentation (WMI) Win32_OperatingSystem クラスの Win32Shutdown メソッドを使用します。 この方法では、コンピューターの再起動に使用するユーザー アカウントに対して SeShutdownPrivilege 特権を有効にする必要があります。 - Linux および Mac OS では、
Restart-Computer
bash ツールを使用します/sbin/shutdown
。