コンピューターがリモート Windows PowerShell コマンドを受信できないようにします。

構文

Disable-PSRemoting [-Force] [-確認] [-WhatIf] [<CommonParameters>]

説明

Disable-PSRemoting 関数は、セキュリティ記述子に "deny all" エントリを追加することで、ローカル コンピューターに保存されているすべてのセッション構成を無効にします。これにより、ローカル コンピューターはリモート コマンドを受信しなくなります。

Disable-PSRemoting では、WinRM サービスは停止されません。また、ローカル コンピューターのユーザーが、リモート コンピューターに接続するセッションの確立や、他のコンピューターへのコマンド送信を行えなくなるわけではありません。

セッション構成を再び有効にするには、Enable-PSRemoting コマンドレットまたは Enable-PSSessionConfiguration コマンドレットを使用します。

Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows でこの関数を実行するには、[管理者として実行] オプションで Windows PowerShell を開く必要があります。

パラメーター

-Force

ユーザー プロンプトをすべて非表示にします。既定では、各操作を確認するよう求めるメッセージが表示されます。

必須

false

位置

named

既定値

False

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

false

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

false

-確認

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

必須

false

位置

named

既定値

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

false

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

false

-WhatIf

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

必須

false

位置

named

既定値

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

false

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

false

<CommonParameters>

このコマンドレットは、次の共通パラメーターをサポートします: -Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer、および -OutVariable。Ô”¼š¤Ë¤Ä¤¤¤Æ¤Ï¡¢次を参照してください: about_Commonparameters.

入力と出力

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

入力

None

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

出力

None

このコマンドレットはオブジェクトを返しません。

セッション構成とは、あるセッションの環境を定義する設定の集まりのことです。セッション構成は、リモート コンピューター上に保存され、そのコンピューターに接続するローカル セッションおよびリモート セッションによって使用されます。

このリモート コンピューターに接続するセッションでは必ず、そのコンピューター上に登録されているセッション構成の 1 つを使用する必要があります。これには、ユーザーが New-PSSession コマンドレットまたは Enter-PSSession コマンドレットを使用して作成する永続的なセッションと、WS-Management リモート処理テクノロジを使用するコマンドレット (たとえば Invoke-Command) の ComputerName パラメーターを使用したときに Windows PowerShell によって作成される一時的なセッションが含まれます。すべてのセッション構成へのアクセスを拒否すると、このコンピューターに接続するセッションをどのユーザーも確立できなくなります。

Disable-PSRemoting は "Disable-PSSessionConfiguration -name * と同等です。

例 1

C:\PS>disable-psremoting

説明
-----------
このコマンドは、コンピューターに保存されているセッション構成をすべて無効にします。






例 2

C:\PS>disable-psremoting -force

説明
-----------
このコマンドは、プロンプトを表示することなく、コンピューターに保存されているセッション構成をすべて無効にします。






例 3

C:\PS>disable-psremoting -force

C:\PS> new-pssession -computername localhost

[localhost] Connecting to remote server failed with the following error
message : Access is denied. For more information, see the about_Remote_Troub
leshooting Help topic.
    + CategoryInfo          : OpenError: (System.Manageme....RemoteRunspace:RemoteRunspace) [], PSRemotingTransportException
    + FullyQualifiedErrorId : PSSessionOpenFailed


C:\PS> new-pssession -computername Server01

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   Server01...     Opened   Microsoft.PowerShell     Available


C:\PS> enable-pssessionConfiguration -name * -force

C:\PS> new-pssession -computername localhost

 Id Name       ComputerName    State    Configuration         Availability
 -- ----       ------------    -----    -------------         ------------
  1 Session1   localhost       Opened   Microsoft.PowerShell     Available

説明
-----------
この例は、Disable-PSRemoting を使用したときの結果を示しています。

最初のコマンドは、Disable-PSRemoting を使用して、ローカル コンピューター上で登録されているすべてのセッション構成を無効にします。

2 番目のコマンドは、New-PSSession を使用して、ローカル コンピューターへのリモート セッション ("ループバック" とも呼ばれます) を作成します。セッションに必要なセッション構成は無効になっているので、このコマンドの実行は失敗します。

3 番目のコマンドは、New-PSSession コマンドレットを使用して、ローカル コンピューターから Server01 リモート コンピューターへのセッションを作成します。このコマンドは、リモート コンピューターに保存されているセッション構成を使用するので、正常に実行されます。

4 番目のコマンドは、Enable-PSSessionConfiguration コマンドレットを使用して、ローカル コンピューターに保存されているすべてのセッション構成を再び有効にします。このコマンドでは、Name パラメーターの値として * (すべて) が使用されます。

5 番目のコマンドは、New-PSSession コマンドレットを使用して、ループバック セッションの確立を再試行します。今回は、必要なセッション構成が有効になっているので、コマンドは正常に実行されます。






例 4

C:\PS>disable-psremoting -force

C:\PS> get-psSessionConfiguration | format-table -property name, permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   Everyone AccessDenied, BUILTIN\Administrators AccessAllowed
microsoft.powershell32 Everyone AccessDenied, BUILTIN\Administrators AccessAllowed

C:\PS> enable-psremoting -force
WinRM already is set up to receive requests on this machine.
WinRM already is set up for remote management on this machine.

C:\PS>> Get-PSSessionConfiguration | ft name, Permission -auto

Name                   Permission
----                   ----------
microsoft.powershell   BUILTIN\Administrators AccessAllowed
microsoft.powershell32 BUILTIN\Administrators AccessAllowed

説明
-----------
この例は、Disable-PSRemoting と Enable-PSRemoting を使用したときのセッション構成における影響を示しています。

最初のコマンドは、Disable-PSRemoting 関数を使用して、登録されているすべてのセッション構成を無効にします。force パラメーターは、ユーザー プロンプトをすべて非表示にします。

2 番目のコマンドは、Get-PSSessionConfiguration コマンドレットを使用して、このコンピューター上で登録されているセッション構成を表示します。このコマンドは、パイプライン演算子を使用して、演算の結果を Format-Table コマンドに送ります。結果を受け取った Format-Table コマンドは、セッション構成の Name プロパティと Permission プロパティのみを表形式で表示します。

結果として生成された表には、すべてのユーザーがセッション構成へのアクセスを拒否されたことが示されます。

3 番目のコマンドは、Enable-PSRemoting コマンドレットを使用して、コンピューターに保存されているすべてのセッション構成を再び有効にします。また、"Enable-PsSessionConfiguration -name *" コマンドを使用することもできます。このコマンドは、Force パラメーターを使用して、ユーザー プロンプトをすべて非表示にし、プロンプトを表示することなく WinRM サービスを再起動します。

4 番目のコマンドは、Get-PSSessionConfiguration と Format-Table を使用して、セッション構成の名前とアクセス許可を表示します。実行結果には、Administrators グループのメンバーがセッション構成にアクセス可能であることが示されます。






関連項目




目次