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-ContentPath パラメーターを使用して、テキスト ファイルからコンピューター名の一覧を取得 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-ContentPath パラメーターを使用して、テキスト ファイルからコンピューター名の一覧を取得 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
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

実行する前に確認を求めるメッセージが表示されます Restart-Computer

Type:SwitchParameter
Aliases:cf
Position:Named
Default value: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
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
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
Accept pipeline input:False
Accept wildcard characters:False

-Force

コンピューターの即時再起動を強制します。

Type:SwitchParameter
Aliases:f
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-Timeout

待機期間を秒単位で指定します。 タイムアウトが経過すると、 Restart-Computer コンピューターが再起動されていない場合でも、コマンド プロンプトに戻ります。

Timeout パラメーターは Wait パラメーターでのみ有効です。 Timeout、Wait パラメーターの無期限の待機期間をオーバーライドします。

このパラメーターは Windows PowerShell 3.0 で導入されました。

Type:Int32
Aliases:TimeoutSec
Position:Named
Default value:None
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
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

実行された場合の動作を Restart-Computer 示します。 コマンドレットが Restart-Computer 実行されていません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

ユーザーの資格情報を認証するために使用されるメカニズムを指定します。 このパラメーターは Windows PowerShell 3.0 で導入されました。

このパラメーターに使用できる値は、 BasicCredSSPDefaultDigestKerberosおよび Negotiate です。

詳細については、「 AuthenticationMechanism」を参照してください。

警告

資格情報セキュリティ サービス プロバイダー (CredSSP) 認証では、ユーザー資格情報が認証されるリモート コンピューターに渡されます。これは、リモート ネットワーク共有へのアクセスなど、複数のリソースでの認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。

Type:String
Accepted values:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

入力

String

Restart-Computer は、パイプラインまたは変数のコンピューター名を受け入れます。

出力

None

Restart-Computer は出力を生成しません。

メモ

  • Windows では、 Restart-Computer Windows Management Instrumentation (WMI) Win32_OperatingSystem クラスの Win32Shutdown メソッド使用します。 この方法では、コンピューターの再起動に使用するユーザー アカウントに対して SeShutdownPrivilege 特権を有効にする必要があります。
  • Linux および Mac OS では、 Restart-Computer bash ツールを使用します /sbin/shutdown