Enable-PSRemoting
リモート コマンドを受信するようにコンピューターを構成します。
Enable-PSRemoting
[-Force]
[-SkipNetworkProfileCheck]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Enable-PSRemoting
コマンドレットは、WS-Management テクノロジを使用して送信される PowerShell リモート コマンドを受信するようにコンピューターを構成します。
PowerShell リモート処理は、Windows Server 2012 以降では既定で有効になっています。
Enable-PSRemoting
を使用して、サポートされている他のバージョンの Windows で PowerShell リモート処理を有効にしたり、リモート処理が無効になった場合に再び有効にしたりすることができます。
このコマンドは、コマンドを受信するコンピューターごとに 1 回だけ実行する必要があります。 コマンドのみを送信するコンピューターで実行する必要はありません。 構成はリスナーを開始するため、必要な場所でのみ実行することが賢明です。
PowerShell 3.0 以降では、Enable-PSRemoting
コマンドレットを使用すると、コンピューターがパブリック ネットワーク上にある場合に、クライアント バージョンの Windows で PowerShell リモート処理を有効にすることができます。 詳細については、SkipNetworkProfileCheck パラメーターの説明を参照してください。
Enable-PSRemoting
コマンドレットは、次の操作を実行します。
-
Set-WSManQuickConfig コマンドレットを実行し、次のタスクを実行します。
- WinRM サービスを開始します。
- WinRM サービスのスタートアップの種類を [自動] に設定します。
- 任意の IP アドレスで要求を受け入れるリスナーを作成します。
- WS-Management 通信のファイアウォール例外を有効にします。
- Microsoft.PowerShell を登録し、まだ登録されていない場合は、Microsoft.PowerShell.Workflow セッション構成を します。
- Microsoft.PowerShell32 セッション構成を 64 ビット コンピューターに登録します (まだ登録されていない場合)。
- すべてのセッション構成を有効にします。
- リモート アクセスを許可するように、すべてのセッション構成のセキュリティ記述子を変更します。
- WinRM サービスを再起動して、上記の変更を有効にします。
Windows プラットフォームでこのコマンドレットを実行するには、[管理者として実行] オプションを使用して PowerShell を起動します。
PowerShell リモート処理の使用の詳細については、次の記事を参照してください。
このコマンドは、リモート コマンドを受信するようにコンピューターを構成します。
Enable-PSRemoting
このコマンドは、リモート コマンドを受信するようにコンピューターを構成します。 Force パラメーターを指定すると、ユーザーのプロンプトが表示されなくなります。
Enable-PSRemoting -Force
この例では、Windows オペレーティング システムのクライアント バージョンでパブリック ネットワークからのリモート アクセスを許可する方法を示します。 ファイアウォール規則の名前は、Windows のバージョンによって異なる場合があります。
ルールの一覧を表示するには、Get-NetFirewallRule
を使用します。 ファイアウォール規則を有効にする前に、規則のセキュリティ設定を表示して、構成が環境に適していることを確認します。
Get-NetFirewallRule -Name 'WINRM*' | Select-Object -Property Name
Name
----
WINRM-HTTP-In-TCP-NoScope
WINRM-HTTP-In-TCP
WINRM-HTTP-Compat-In-TCP-NoScope
WINRM-HTTP-Compat-In-TCP
Enable-PSRemoting -SkipNetworkProfileCheck -Force
Set-NetFirewallRule -Name 'WINRM-HTTP-In-TCP' -RemoteAddress Any
既定では、Enable-PSRemoting
はプライベート ネットワークとドメイン ネットワークからのリモート アクセスを許可するネットワーク 規則を作成します。 このコマンドは、SkipNetworkProfileCheck パラメーターを使用して、同じローカル サブネット内のパブリック ネットワークからのリモート アクセスを許可します。 このコマンドは、確認メッセージを抑制するために Force パラメーターを指定します。
SkipNetworkProfileCheck パラメーターは、既定で同じローカル サブネット内のパブリック ネットワークからのリモート アクセスを許可する Windows オペレーティング システムのサーバー バージョンには影響しません。
NetSecurity モジュールの Set-NetFirewallRule
コマンドレットは、任意のリモートの場所からパブリック ネットワークからのリモート アクセスを許可するファイアウォール規則を追加します。 これには、異なるサブネット内の場所が含まれます。
注意
ファイアウォール規則の名前は、Windows のバージョンによって異なる場合があります。
Get-NetFirewallRule
コマンドレットを使用して、システム上の規則の名前を一覧表示します。
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
ユーザーの確認を求めずにコマンドを強制的に実行します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
このコマンドレットは、コンピューターがパブリック ネットワーク上にある場合に、Windows オペレーティング システムのクライアント バージョンでリモート処理を有効にすることを示します。 このパラメーターは、同じローカル サブネット内のコンピューターからのリモート アクセスのみを許可するパブリック ネットワークのファイアウォール規則を有効にします。
このパラメーターは、Windows オペレーティング システムのサーバー バージョンには影響しません。既定では、パブリック ネットワーク用のローカル サブネット ファイアウォール規則があります。 ローカル サブネットのファイアウォール規則がサーバー バージョンで無効になっている場合は、このパラメーターの値に関係なく、Enable-PSRemoting
再度有効にします。
ローカル サブネットの制限を削除し、パブリック ネットワーク上のすべての場所からリモート アクセスを有効にするには、NetSecurity モジュールの Set-NetFirewallRule
コマンドレットを使用します。
このパラメーターは PowerShell 3.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
None
このコマンドレットにオブジェクトをパイプすることはできません。
このコマンドレットは、その結果を記述する文字列を返します。
PowerShell 3.0 以降では、Enable-PSRemoting
は、すべてのセッション構成の Enabled プロパティの値を $True
に設定することで、すべてのセッション構成を有効にします。
Windows オペレーティング システムのサーバー バージョンでは、
Enable-PSRemoting
は、リモート アクセスを許可するプライベート ネットワークとドメイン ネットワークのファイアウォール規則を作成し、同じローカル サブネット内のコンピューターからのリモート アクセスのみを許可するパブリック ネットワークのファイアウォール規則を作成します。Windows オペレーティング システムのクライアント バージョンでは、PowerShell 3.0 の
Enable-PSRemoting
は、無制限のリモート アクセスを許可するプライベート ネットワークとドメイン ネットワークのファイアウォール規則を作成します。 同じローカル サブネットからのリモート アクセスを許可するパブリック ネットワークのファイアウォール規則を作成するには、SkipNetworkProfileCheck パラメーターを使用します。Windows オペレーティング システムのクライアントまたはサーバー のバージョンで、ローカル サブネットの制限を解除し、リモート アクセスを許可するパブリック ネットワークのファイアウォール規則を作成するには、NetSecurity モジュールの
Set-NetFirewallRule
コマンドレットを使用して、次のコマンドを実行しますSet-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any
Enable-PSRemoting
は、すべてのセッション構成の Enabled プロパティの値を $True
に設定することで、すべてのセッション構成を有効にします。
Enable-PSRemoting
は、Deny_All と Network_Deny_All の設定を削除します。 これにより、ローカルで使用するために予約されたセッション構成へのリモート アクセスが提供されます。
PowerShell に関するフィードバック
PowerShell はオープンソース プロジェクトです。 フィードバックを提供するにはリンクを選択します。