Stop-Computer

ローカルとリモートのコンピューターを停止 (シャットダウン) します。

構文

Stop-Computer [[-ComputerName] <string[]>] [[-Credential] <PSCredential>] [-AsJob] [-Authentication {<Default> | <None> | <Connect> | <Call> | <Packet> | <PacketIntegrity> | <PacketPrivacy> | <Unchanged>}] [-Force] [-Impersonation {<Default> | <Anonymous> | <Identify> | <Impersonate> | <Delegate>}] [-ThrottleLimit <int>] [-Confirm] [-WhatIf] [<CommonParameters>]

説明

Stop-Computer コマンドレットはリモートでコンピューターをシャットダウンします。ローカル コンピューターをシャットダウンすることもできます。

Stop-Computer のパラメーターを使用して、バックグラウンド ジョブとしてのシャットダウン操作の実行、認証レベルと代替資格情報の指定、コマンド実行用に作成された同時接続の数の制限、および即時シャットダウンの強制を行うことができます。

AsJob パラメーターを使用しない限り、このコマンドは Windows PowerShell をリモートで実行する必要はありません。

パラメーター

-AsJob

バックグラウンド ジョブとしてコマンドを実行します。

注: このパラメーターを使用するには、ローカル コンピューターおよびリモート コンピューターをリモート処理用に構成する必要があります。また、Windows Vista 以降のバージョンの Windows の場合は、Windows PowerShell を開く際に [管理者として実行] を指定する必要があります。詳細については、「about_Remote_Requirements」を参照してください。

AsJob パラメーターを使用すると、バックグラウンド ジョブを表すオブジェクトが即座に返されます。ジョブが完了しても、引き続きセッションで作業できます。ジョブは、ローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。ジョブを管理するには、Job コマンドレットを使用します。ジョブの結果を取得するには、Receive-Job コマンドレットを使用します。

Windows PowerShell のバックグラウンド ジョブの詳細については、「about_Jobs」および「about_Remote_Jobs」を参照してください。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Authentication <AuthenticationLevel>

WMI 接続に使用する認証レベルを指定します。Stop-Computer は WMI を使用します。既定値は Packet です。

有効な値は次のとおりです。

Unchanged: 認証レベルは前のコマンドと同じです。

Default: Windows 認証。

None: COM 認証なし。

Connect: 接続レベルの COM 認証。

Call: 呼び出しレベルの COM 認証。

Packet: パケット レベルの COM 認証。

PacketIntegrity: パケット整合性レベルの COM 認証。

PacketPrivacy: パケット プライバシー レベルの COM 認証。

必須

false

位置

named

既定値

4

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ComputerName <string[]>

指定されたコンピューターを停止します。既定値はローカル コンピューターです。

コンマ区切り一覧にある 1 台または複数のコンピューターの NETBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。ローカル コンピューターを指定するには、コンピューター名または「localhost」と入力します。

このパラメーターは、Windows PowerShell リモート処理に依存しません。コンピューターがリモート コマンドを実行するように構成されていない場合でも、ComputerName パラメーターを使用できます。

必須

false

位置

1

既定値

.

パイプライン入力を許可する

true (ByPropertyName)

ワイルドカード文字を許可する

false

-Credential <PSCredential>

この処理を実行するアクセス許可を持つユーザー アカウントを指定します。既定値は現在のユーザーです。

"User01" や "Domain01\User01" のようなユーザー名を入力するか、PSCredential オブジェクト (Get-Credential コマンドレットから返されるものなど) を入力します。

必須

false

位置

2

既定値

Current user

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Force

コンピューターの即時シャットダウンを強制します。

必須

false

位置

named

既定値

False

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Impersonation <ImpersonationLevel>

WMI を呼び出すときに使用する偽装レベルを指定します。Stop-Computer は WMI を使用します。既定値は "Impersonate" です。

有効な値は次のとおりです。

Default: 既定の偽装。

Anonymous: 呼び出し元の ID は非表示になります。

Identify: オブジェクトによる呼び出し元の資格情報のクエリが許可されます。

Impersonate: オブジェクトによる呼び出し元の資格情報の使用が許可されます。

必須

false

位置

named

既定値

Impersonate

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-ThrottleLimit <int>

このコマンドを実行するために確立できる最大同時接続数を指定します。このパラメーターを省略した場合、または値 0 を入力した場合は、既定値の 32 が使用されます。

スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。

必須

false

位置

named

既定値

32

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-Confirm

コマンドを実行する前に確認メッセージを表示します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

-WhatIf

実際にコマンドを実行せずに、コマンドを実行すると何が起きるかを出力します。

必須

false

位置

named

既定値

パイプライン入力を許可する

false

ワイルドカード文字を許可する

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。詳細については、次を参照してください: about_Commonparameters.

入力と出力

入力値の型は、コマンドレットへのパイプが可能なオブジェクトの型です。戻り値の型は、コマンドレットによって返されるオブジェクトの型です。

入力

なし

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

なし、または System.Management.Automation.RemotingJob

AsJob パラメーターを使用すると、コマンドレットはジョブ オブジェクト (System.Management.Automation.RemotingJob) を返します。それ以外の場合、出力は生成されません。

このコマンドレットは、Win32_OperatingSystem WMI クラスの Win32Shutdown メソッドを使用します。

例 1

C:\PS>stop-computer

説明
-----------
このコマンドは、ローカル コンピューターをシャットダウンします。





例 2

C:\PS>stop-computer -computername Server01, Server02, localhost

説明
-----------
このコマンドは、2 台のリモート コンピューター Server01 および Server02 と、"localhost" として識別されたローカル コンピューターを停止します。





例 3

C:\PS>$j = stop-computer -computername Server01, Server02 -asjob 

C:\PS> $results = $j | receive-job

C:\PS> $results

説明
-----------
これらのコマンドは、2 台のリモート コンピューター上でバックグラウンド ジョブとして Stop-Computer コマンドを実行し、結果を取得します。

最初のコマンドは AsJob パラメーターを使用して、バックグラウンド ジョブとしてコマンドを実行します。このコマンドは、結果のジョブ オブジェクトを $j 変数に保存します。

2 番目のコマンドはパイプライン演算子を使用して、$j 内のジョブ オブジェクトを Receive-Job コマンドレットに渡します。このコマンドレットは、ジョブの結果を取得します。結果は $results 変数に保存されます。

3 番目のコマンドは $results 変数に保存された結果を表示します。

AsJob パラメーターが、ローカル コンピューター上にジョブを作成して、結果をローカル コンピューターに自動的に返すので、Receive-Job コマンドをローカル コマンドとして実行できます。





例 4

C:\PS>stop-computer -comp Server01 -impersonation anonymous -authentication PacketIntegrity

説明
-----------
このコマンドは、Server01 リモート コンピューターを再起動します。カスタマイズされた偽装および認証の設定が使用されます。





例 5

C:\PS>$s = get-content domain01.txt

C:\PS> $c = get-credential domain01\admin01

C:\PS> stop-computer -computername $s -force -throttlelimit 10 -credential $c

説明
-----------
これらのコマンドは、Domain01 にあるすべてのコンピューターの即時シャットダウンを強制します。

最初のコマンドは、ドメイン内のコンピューターの一覧を取得して、$s 変数に保存します。

2 番目のコマンドは、ドメイン管理者の資格情報を取得して、$c 変数に保存します。

3 番目のコマンドは、コンピューターをシャットダウンします。ComputerName パラメーターで $s 変数に保存されたコンピューターの一覧を送信し、Force パラメーターで即時シャットダウンを強制し、Credential パラメーターで $c 変数に保存された資格情報を送信します。また、ThrottleLimit パラメーターでコマンドの同時接続数を 10 に制限します。





関連項目

概念

Add-Computer
Checkpoint-Computer
Remove-Computer
Restart-Computer
Restore-Computer
Test-Connection