次の方法で共有


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 パラメーターを使用してリモート コンピューターを指定します。 偽装 パラメーターはカスタマイズされた偽装を指定し、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 パラメーターのコンピューターの一覧で指定されたコンピューターをシャットダウンします。 Force パラメーターは、即時シャットダウンを強制します。 ThrottleLimit パラメーターは、コマンドを 10 個の同時接続に制限します。 Credential パラメーターは、$c 変数に保存された資格情報を送信します。

パラメーター

-AsJob

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

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

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

PowerShell バックグラウンド ジョブの詳細については、「about_Jobsabout_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

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

User01Domain01\User01などのユーザー名を入力するか、 コマンドレットによって生成された Get-Credential オブジェクトを入力します。 ユーザー名を入力すると、パスワードの入力を求められます。

資格情報は PSCredential オブジェクトに格納され、パスワードは SecureStringとして格納されます。

手記

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 を呼び出すときに使用する偽装レベルを指定します。 既定値は の偽装です。

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
  • デフォルト
  • ダイジェスト
  • 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 オブジェクトを返します。

メモ

このコマンドレットでは、Win32_OperatingSystem WMI クラスの win32Shutdown メソッドを使用します。 この方法では、マシンのシャットダウンに使用するユーザー アカウントに対して SeShutdownPrivilege 特権を有効にする必要があります。