次の方法で共有


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 パラメーターを使用しない限り、Windows PowerShell リモート処理は必要ありません。

例 1: ローカル コンピューターをシャットダウンする

PS C:\> Stop-Computer

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

例 2: 2 台のリモート コンピューターとローカル コンピューターをシャットダウンする

PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"

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

例 3: リモート コンピューターをバックグラウンド ジョブとしてシャットダウンする

PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results

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

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

2 番目のコマンドは、パイプライン演算子を使用して、ジョブ結果を Receive-Job に$jで送信します。 このコマンドは、結果を $results 変数に保存します。

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

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

例 4: リモート コンピューターをシャットダウンする

PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity

このコマンドは、Server01 リモート コンピュータを停止します。 このコマンドは、カスタマイズされた偽装と認証の設定を使用します。

例 5:

PS C:\> $s = Get-Content Domain01.txt
PS C:\> $c = Get-Credential domain01\admin01
PS C:\> Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c

これらのコマンドは、Domain01 内のすべてのコンピューターを強制的にシャットダウンします。

最初のコマンドは、ドメイン内のコンピューターの一覧を取得し、それらを $s 変数に格納します。

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

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

パラメーター

-AsJob

このコマンドレットがバックグラウンド ジョブとして実行されることを示します。

このパラメーターを使用するには、ローカル コンピューターとリモート コンピューターをリモート処理用に構成し、Windows Vista 以降のバージョンの Windows オペレーティング システムでは、[管理者として実行] オプションを使用して Windows PowerShell を開く必要があります。 詳細については、「about_Remote_Requirements」を参照してください。

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

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

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ComputerName

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

1 台以上のコンピューターの NETBIOS 名、IP アドレス、または完全修飾ドメイン名をコンマ区切りリストに入力します。 ローカル コンピューターを指定するには、コンピューター名または localhost を入力します。

このパラメーターは、Windows 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
配置:1
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-DcomAuthentication

このコマンドレットが WMI で使用する認証レベルを指定します。 Stop-Computer は WMI を使用します。 このパラメーターに使用できる値は次のとおりです。

  • 既定値。 Windows 認証
  • なし。 COM 認証なし
  • 繋ぐ。 接続レベルの COM 認証
  • 呼び出し。 呼び出しレベルの COM 認証
  • パケット。 パケット レベルの COM 認証
  • PacketIntegrityです。 パケット整合性レベルの COM 認証
  • PacketPrivacy です。 パケット プライバシー レベルの COM 認証
  • 変更なし。 前のコマンドと同じ

デフォルト値は [パケット] です。

このパラメーターの値の詳細については、MSDN ライブラリの 「AuthenticationLevel 列挙 体」を参照してください。

型:AuthenticationLevel
Aliases:Authentication
指定可能な値:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Force

コンピュータを直ちにシャットダウンします。

型:SwitchParameter
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Impersonation

このコマンドレットが WMI を呼び出すときに使用する偽装レベルを指定します。 Stop-Computer は WMI を使用します。 このパラメーターに使用できる値は次のとおりです。

  • 既定値。 既定の偽装。
  • アノニマス。 呼び出し元の ID を非表示にします。
  • 識別する。 オブジェクトが呼び出し元の資格情報を照会できるようにします。
  • 偽装。 オブジェクトが呼び出し元の資格情報を使用できるようにします。

デフォルト値は Impersonate です。

型:ImpersonationLevel
指定可能な値:Default, Anonymous, Identify, Impersonate, Delegate
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-Protocol

コンピューターの再起動に使用するプロトコルを指定します。 このパラメーターに使用できる値は、WSMan と DCOM です。 既定値は DCOM です。

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

型:String
指定可能な値:DCOM, WSMan
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-ThrottleLimit

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

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

型:Int32
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WhatIf

コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。

型:SwitchParameter
Aliases:wi
配置:Named
規定値:False
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

-WsmanAuthentication

このコマンドレットが WSMan プロトコルを使用するときにユーザー資格情報を認証するために使用されるメカニズムを指定します。 このパラメーターに使用できる値は次のとおりです。

  • ベーシック
  • クレドSSP
  • 既定値
  • ダイジェスト
  • Kerberos
  • 交渉する。

既定値は Default です。

このパラメーターの値の詳細については、MSDN ライブラリ AuthenticationMechanism 列挙 を参照してください。

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

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

型:String
指定可能な値:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
配置:Named
規定値:None
必須:False
パイプライン入力を受け取る:False
ワイルドカード文字を受け取る:False

入力

None

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

出力

None or System.Management.Automation.RemotingJob

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

メモ

  • このコマンドレットでは、Win32_OperatingSystem WMI クラスの win32Shutdown メソッドを使用します。
  • Windows PowerShell 2.0 では、リモート コンピューターを再起動または停止するときに AsJob パラメーターは確実に機能しません。 Windows PowerShell 3.0 では、この問題を解決するために実装が変更されています。