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 で導入されました。

このパラメーターに使用できる値は、BasicCredSSP、DefaultDigestKerberos、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

入力

String

コンピューター名を含む文字列をこのコマンドレットにパイプできます。

出力

None

このコマンドレットは、出力を返しません。

メモ

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