Stop-Computer
ローカルとリモートのコンピューターを停止 (シャットダウン) します。
構文
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
Stop-Computer
コマンドレットは、ローカル コンピューターとリモート コンピューターをシャットダウンします。
Stop-Computer
のパラメーターを使用して、シャットダウン操作をバックグラウンド ジョブとして実行したり、認証レベルと代替資格情報を指定したり、コマンドを実行するために作成される同時接続を制限したり、即時シャットダウンを強制したりできます。
このコマンドレットでは、 AsJob パラメーターを使用しない限り、PowerShell リモート処理は必要ありません。
例
例 1: ローカル コンピューターをシャットダウンする
次の使用例は、ローカル コンピューターをシャットダウンします。
Stop-Computer -ComputerName localhost
例 2: 2 台のリモート コンピューターとローカル コンピューターをシャットダウンする
次の使用例は、2 台のリモート コンピューターとローカル コンピューターを停止します。
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer
では、 ComputerName パラメーターを使用して、2 台のリモート コンピューターとローカル コンピューターを指定します。 各コンピューターがシャットダウンされます。
例 3: リモート コンピューターをバックグラウンド ジョブとしてシャットダウンする
この例では、 Stop-Computer
は 2 台のリモート コンピューターでバックグラウンド ジョブとして実行されます。
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer
は、 ComputerName パラメーターを使用して、2 つのリモート コンピューターを指定します。 AsJob パラメーターは、バックグラウンド ジョブとしてコマンドを実行します。 ジョブ オブジェクトは、 $j
変数に格納されます。
$j
変数内のジョブ オブジェクトは、パイプラインからReceive-Job
に送信され、ジョブの結果が取得されます。 オブジェクトは、 $results
変数に格納されます。 $results
変数は、PowerShell コンソールにジョブ情報を表示します。
AsJobはローカル コンピューターでジョブを作成し、結果をローカル コンピューターに自動的に返すので、ローカル コマンドとしてReceive-Job
実行できます。
例 4: リモート コンピューターをシャットダウンする
この例では、指定した認証を使用してリモート コンピューターをシャットダウンします。
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer
は、 ComputerName パラメーターを使用してリモート コンピューターを指定します。 Impersonation パラメーターはカスタマイズされた偽装を指定し、DcomAuthentication パラメーターは認証レベルの設定を指定します。
例 5: ドメイン内のコンピューターをシャットダウンする
この例では、指定したドメイン内のすべてのコンピューターを強制的にシャットダウンします。
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Get-Content
では、 Path パラメーターを使用して、ドメイン コンピューターの一覧を含む現在のディレクトリ内のファイルを取得します。 オブジェクトは、 $s
変数に格納されます。
Get-Credential
では、 Credential パラメーターを使用してドメイン管理者の資格情報を指定します。 資格情報は、 $c
変数に格納されます。
Stop-Computer
$s
変数内のコンピューターのComputerNameパラメーターの一覧で指定されたコンピューターをシャットダウンします。 Force パラメーターは、即時シャットダウンを強制します。 ThrottleLimit パラメーターは、コマンドを 10 個の同時接続に制限します。 Credential パラメーターは、$c
変数に保存された資格情報を送信します。
パラメーター
-AsJob
このコマンドレットがバックグラウンド ジョブとして実行されることを示します。
このパラメーターを使用するには、リモート処理用にローカル コンピューターとリモート コンピューターを構成する必要があります。Windows Vista 以降のバージョンの Windows オペレーティング システムでは、 管理者として実行 オプションを使用して PowerShell を開く必要があります。 詳細については、「about_Remote_Requirements」を参照してください。
AsJob パラメーターを指定すると、コマンドはすぐにバックグラウンド ジョブを表すオブジェクトを返します。 ジョブが完了しても、引き続きセッションで作業できます。 ジョブは、ローカル コンピューターで作成され、リモート コンピューターでの結果は自動的にローカル コンピューターに返されます。 ジョブの結果を取得するには、 Receive-Job
コマンドレットを使用します。
PowerShell バックグラウンド ジョブの詳細については、「 about_Jobs と about_Remote_Jobs」を参照してください。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ComputerName
停止するコンピューターを指定します。 既定値はローカル コンピューターです。
コンマ区切りのリストで、1 台または複数のコンピューターの NETBIOS 名、IP アドレス、または完全修飾ドメイン名を入力します。 ローカル コンピューターを指定するには、コンピューター名または localhost を入力します。
このパラメーターは、PowerShell リモート処理には依存しません。 コンピューターがリモート コマンドを実行するように構成されていない場合でも、 ComputerName パラメーターを使用できます。
型: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
配置: | 0 |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットの実行前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Credential
このアクションを実行するアクセス許可を持つユーザー アカウントを指定します。 既定値は現在のユーザーです。
User01 や Domain01\User01 などのユーザー名を入力するか、Get-Credential
コマンドレットによって生成されたPSCredential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。
資格情報は PSCredential オブジェクトに格納され、パスワードは SecureString として格納されます。
Note
SecureString データ保護の詳細については、「 SecureString のセキュリティ保護方法」を 参照してください。
型: | PSCredential |
配置: | 1 |
規定値: | Current user |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-DcomAuthentication
このコマンドレットが WMI で使用する認証レベルを指定します。 Stop-Computer
は WMI を使用します。 既定値は Packet です。
このパラメーターの有効値は、次のとおりです。
- 既定値: Windows 認証。
- なし: COM 認証なし。
- 接続: 接続レベルの COM 認証。
- 呼び出し: 呼び出しレベルの COM 認証。
- パケット: パケット レベルの COM 認証。
- PacketIntegrity: パケット整合性レベルの COM 認証。
- PacketPrivacy: パケット プライバシー レベルの COM 認証。
- 変更なし: 前のコマンドと同じです。
このパラメーターの値の詳細については、「 AuthenticationLevelを参照してください。
型: | AuthenticationLevel |
Aliases: | Authentication |
指定可能な値: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
配置: | Named |
規定値: | Packet |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
コンピューターの即時シャットダウンを強制します。
型: | SwitchParameter |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Impersonation
このコマンドレットが WMI を呼び出すときに使用する偽装レベルを指定します。 既定値は Impersonate です。
Stop-Computer
は WMI を使用します。 このパラメーターの有効値は、次のとおりです。
- 既定値: 既定の偽装。
- 匿名: 呼び出し元の ID を非表示にします。
- 識別: オブジェクトが呼び出し元の資格情報を照会できるようにします。
- 偽装: オブジェクトが呼び出し元の資格情報を使用できるようにします。
型: | ImpersonationLevel |
指定可能な値: | Default, Anonymous, Identify, Impersonate, Delegate |
配置: | Named |
規定値: | Impersonate |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Protocol
コンピューターの再起動にどのプロトコルを使用するかを指定します。 このパラメーターに使用できる値は、 WSMan および DCOM です。 既定値は DCOM です。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
指定可能な値: | DCOM, WSMan |
配置: | Named |
規定値: | DCOM |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ThrottleLimit
このコマンドを実行するために確立できる最大コンカレント接続数を指定します。 このパラメーターを省略した場合、または値 0 を入力した場合は、既定値の 32 が使用されます。
スロットル制限は現在のコマンドのみに適用され、セッションまたはコンピューターには適用されません。
型: | Int32 |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WsmanAuthentication
このコマンドレットが WSMan プロトコルを使用するときにユーザー資格情報を認証するために使用されるメカニズムを指定します。 既定値は Defaultです。
このパラメーターの有効値は、次のとおりです。
- 基本
- CredSSP
- 既定値
- Digest
- Kerberos
- 交渉する。
このパラメーターの値の詳細については、「 AuthenticationMechanismを参照してください。
注意事項
資格情報セキュリティ サービス プロバイダー (CredSSP) 認証は、ユーザー資格情報が認証されるリモート コンピューターに渡される認証で、リモート ネットワーク共有へのアクセスなど、複数のリソースで認証を必要とするコマンド用に設計されています。 このメカニズムを使用すると、リモート操作のセキュリティ リスクが高まります。 リモート コンピューターのセキュリティが低下している場合は、そのリモート コンピューターに渡される資格情報を使用してネットワーク セッションが制御される場合があります。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
指定可能な値: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
配置: | Named |
規定値: | Default |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
既定では、このコマンドレットは出力を返しません。
System.Management.Automation.RemotingJob
AsJob パラメーターを使用すると、このコマンドレットは RemotingJob オブジェクトを返します。
メモ
このコマンドレットでは、次のコマンドを使用します。Win32Shutdown
SeShutdownPrivilege
特権を有効にする必要があります。
関連リンク
PowerShell