次の方法で共有


Stop-Computer

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

構文

Stop-Computer
    [-WsmanAuthentication <String>]
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-Force]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

説明

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

のパラメーター Stop-Computer を使用して、認証レベルと代替資格情報を指定し、即時シャットダウンを強制できます。

PowerShell 7.1 では、 Stop-Computer Linux と macOS 用に が追加されました。 これらのパラメーターは、これらのプラットフォームには影響しません。 コマンドレットは、ネイティブ コマンド を呼び出している /sbin/shutdownだけです。

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

次の使用例は、ローカル コンピューターをシャットダウンします。

Stop-Computer -ComputerName localhost

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

次の使用例は、2 台のリモート コンピューターとローカル コンピューターを停止します。

Stop-Computer -ComputerName "Server01", "Server02", "localhost"

Stop-ComputerComputerName パラメーターを使用して、2 つのリモート コンピューターとローカル コンピューターを指定します。 各コンピューターがシャットダウンされます。

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

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

background 演算子 & は、コマンドを Stop-Computer バックグラウンド ジョブとして実行します。 詳細については、「 about_Operators」を参照してください。

$j = Stop-Computer -ComputerName "Server01", "Server02" &
$results = $j | Receive-Job
$results

Stop-ComputerComputerName パラメーターを使用して、2 つのリモート コンピューターを指定します。 background 演算子は & 、コマンドをバックグラウンド ジョブとして実行します。 ジョブ オブジェクトは 変数に $j 格納されます。

変数内の $j ジョブ オブジェクトは、 にパイプライン Receive-Jobで送信され、ジョブの結果が取得されます。 オブジェクトは 変数に $results 格納されます。 変数は $results 、PowerShell コンソールにジョブ情報を表示します。

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

次の使用例は、指定した認証を使用してリモート コンピューターをシャットダウンします。

Stop-Computer -ComputerName "Server01" -WsmanAuthentication Kerberos

Stop-ComputerComputerName パラメーターを使用してリモート コンピューターを指定します。 WsmanAuthentication パラメーターは、Kerberos を使用してリモート接続を確立することを指定します。

例 5: ドメイン内のコンピューターをシャットダウンする

この例では、コマンドによって、指定したドメイン内のすべてのコンピューターの即時シャットダウンが強制されます。

$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -Credential $c

Get-Content では、 Path パラメーターを使用して、ドメイン コンピューターの一覧を含む現在のディレクトリ内のファイルを取得します。 オブジェクトは 変数に $s 格納されます。

Get-Credential では、 Credential パラメーターを使用してドメイン管理者の資格情報を指定します。 資格情報は 変数に $c 格納されます。

Stop-Computer は、 ComputerName パラメーターの変数内のコンピューターの一覧で指定されたコンピューターを $s シャットダウンします。 Force パラメーターを使用すると、即時シャットダウンが強制されます。 Credential パラメーターは、 変数に保存された資格情報を$c送信します。

パラメーター

-ComputerName

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

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

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

Type:String[]
Aliases:CN, __SERVER, Server, IPAddress
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

コマンドレットの実行前に確認を求めるメッセージが表示されます。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

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

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

注意

SecureString データ保護の詳細については、「SecureString のセキュリティ保護方法」を参照してください。

Type:PSCredential
Position:1
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

コマンドレットの実行時に発生する内容を示します。 コマンドレットは実行されません。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WsmanAuthentication

このコマンドレットが WSMan プロトコルを使用する場合にユーザー資格情報を認証するために使用されるメカニズムを指定します。 既定値は Defaultです。

このパラメーターの有効値は、次のとおりです。

  • Basic
  • CredSSP
  • Default
  • ダイジェスト
  • Kerberos
  • Negotiate

このパラメーターの値の詳細については、「 AuthenticationMechanism」を参照してください。

注意事項

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

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

Type:String
Accepted values:Default, Basic, Negotiate, CredSSP, Digest, Kerberos
Position:Named
Default value:Default
Required:False
Accept pipeline input:False
Accept wildcard characters:False

入力

None

オブジェクトをこのコマンドレットにパイプすることはできません。

出力

None

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

メモ

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

PowerShell 7.1 では、 Stop-Computer Linux と macOS 用に が追加されました。 これらのプラットフォームの場合、コマンドレットはネイティブ コマンド を呼び出します /sbin/shutdown