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 パラメーターを使用して、テキスト ファイル Doメイン01.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 パラメーターを使用して、テキスト ファイル Doメイン01.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 や Doメイン01\User01 などのユーザー名を入力するか、コマンドレットによって生成された PSCredential オブジェクトをGet-Credential
入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
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
。
関連リンク
PowerShell
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示