ja-JP/about_Remote_Troubleshooting.help.txt

TOPIC
    about_Remote_Troubleshooting

簡単な説明
    PowerShell でのリモート操作のトラブルシューティング方法について説明しま
    す。

詳細な説明
    PowerShell リモート処理を使う前に、構成と基本的な使い方のガイダンスにつ
    いては about_Remote と about_Remote_Requirements を参照してください。

    WSMan: ドライブでローカルコンピューターの設定を表示または変更するには、管
    理者権限が必要です。これには、セッション構成、信頼されたホスト、ポート、リ
    スナーの変更が含まれます。

    PowerShell は [管理者として実行] オプションで実行する必要があります。

  管理者として実行する方法

    次のエラーの場合に該当します。

        ERROR: Access is denied. You need to run this cmdlet from an elevated
        process.

    Windows PowerShell を [管理者として実行] オプションで起動するには、スター
    トメニューの PowerShell アイコンを右クリックして [管理者として実行] を選択
    します。

  リモート処理を有効にする方法

    次のエラーの場合に該当します。

        - ERROR: ACCESS IS DENIED
        - ERROR: The connection to the remote host was refused. Verify that
          the WS-Management service is running on the remote host and
          configured to listen for requests on the correct port and HTTP URL.

    リモートコマンドを受け取るには、コンピューターで PowerShell リモート処理を
    有効にする必要があります。Windows PowerShell リモート処理は、Windows
    Server 2012 以降のリリースの Windows Server では既定で有効になっています。
    リモート処理が無効になっている場合は、Enable-PSRemoting を実行して再び有効
    にできます。詳しくは、Enable-PSRemoting を参照してください。

  エンタープライズでリモート処理を有効にする方法

    次のエラーの場合に該当します。

        - ERROR: ACCESS IS DENIED
        - ERROR: The connection to the remote host was refused. Verify that
          the WS-Management service is running on the remote host and
          configured to listen for requests on the correct port and HTTP URL.

    1 台のコンピューターがリモート PowerShell コマンドを受け取り、接続を受け入
    れられるようにするには、Enable-PSRemoting コマンドレットを使います。

    エンタープライズ内の複数のコンピューターでリモート処理を有効にするには、次
    のスケーラブルなオプションを使えます。

    - [リスナーの自動構成を許可する] グループポリシーを有効にして、リモート処
      理用のリスナーを構成します。
    - [Windows ファイアウォール: ローカルポートの例外を許可する] グループポリ
      シーを構成して有効にします。
    - WinRM サービスのスタートアップの種類を Automatic に設定して、サービスを
      開始します。

  グループポリシーを使ってリスナーを有効にする方法

    次のエラーの場合に該当します。

        - ERROR: ACCESS IS DENIED
        - ERROR: The connection to the remote host was refused. Verify that
          the WS-Management service is running on the remote host and
          configured to listen for requests on the correct port and HTTP URL.

    ドメイン内のすべてのコンピューターのリスナーを構成するには、[リスナーの自
    動構成を許可する] ポリシーを有効にします。

    このポリシーは、次のグループポリシーパスにあります。

        Computer Configuration\Administrative Templates\Windows Components
            \Windows Remote Management (WinRM)\WinRM service

    ポリシーを有効にして、IPv4 および IPv6 フィルターを指定します。ワイルドカ
    ード (*) を使えます。

  パブリックネットワークでリモート処理を有効にする方法

    ローカルネットワークがパブリックで、コマンドで SkipNetworkProfileCheck パ
    ラメーターが使われていない場合、Enable-PSRemoting は次のエラーを返します。

        ERROR: Unable to check the status of the firewall

    サーバーバージョンの Windows では、Enable-PSRemoting はすべてのネットワー
    クプロファイルで成功します。プライベートおよびドメイン (「ホーム」と「社
    内」) ネットワークへのリモートアクセスを許可するファイアウォール規則を作成
    します。パブリックネットワークの場合は、同じローカルサブネットからのリモー
    トアクセスを許可するファイアウォール規則を作成します。

    クライアントバージョンの Windows では、Enable-PSRemoting はプライベートお
    よびドメインネットワークで成功します。既定ではパブリックネットワークでは失
    敗しますが、SkipNetworkProfileCheck パラメーターを使うと、
    Enable-PSRemoting は成功し、同じローカルサブネットからのトラフィックを許可
    するファイアウォール規則を作成します。

    メモ: Windows PowerShell 2.0 では、サーバーバージョンの Windows を実行して
    いるコンピューターで、Enable-PSRemoting はプライベート、ドメイン、パブリッ
    クの各ネットワークでリモートアクセスを許可するファイアウォール規則を作成し
    ます。クライアントバージョンの Windows を実行しているコンピューターでは、
    Enable-PSRemoting はプライベートおよびドメインネットワークでのみリモートア
    クセスを許可するファイアウォール規則を作成します。

    パブリックネットワークでローカルサブネットの制限を削除し、任意の場所からの
    リモートアクセスを許可するには、次のコマンドを実行します。

        Set-NetFirewallRule -Name "WINRM-HTTP-In-TCP-PUBLIC" -RemoteAddress Any

    Set-NetFirewallRule コマンドレットは、NetSecurity モジュールによってエクス
    ポートされます。

    メモ: ファイアウォール規則の名前は、Windows のバージョンによって異なる場合
    があります。規則の一覧を表示するには Get-NetFirewallRule を使います。ファイ
    アウォール規則を有効にする前に、規則のセキュリティ設定を表示して、構成が環
    境に適切であることを確認してください。

  グループポリシーを使ってファイアウォールの例外を有効にする方法

    次のエラーの場合に該当します。

        - ERROR: ACCESS IS DENIED
        - ERROR: The connection to the remote host was refused. Verify that
          the WS-Management service is running on the remote host and
          configured to listen for requests on the correct port and HTTP URL.

    ドメイン内のすべてのコンピューターでファイアウォールの例外を有効にするに
    は、[Windows ファイアウォール: ローカルポートの例外を許可する] ポリシーを
    使います。

    このポリシーは、次のグループポリシーパスにあります。

        Computer Configuration\Administrative Templates\Network
            \Network Connections\Windows Firewall\Domain Profile

    このポリシーを使うと、Administrators グループのメンバーが Windows Remote
    Management (WinRM) サービスのファイアウォール例外を作成できます。

    ポリシー構成が正しくない場合、次のエラーが表示されることがあります。

        The client cannot connect to the destination specified in the request.
        Verify that the service on the destination is running and is accepting
        requests.

    ポリシーの構成エラーにより、ListeningOn プロパティの値が空になります。値を
    確認するには、次のコマンドを使います。

        Get-WSManInstance winrm/config/listener -Enumerate

        cfg : http://schemas.microsoft.com/wbem/wsman/1/config/listener
        xsi : http://www.w3.org/2001/XMLSchema-instance
        Source : GPO
        lang : en-US
        Address : *
        Transport : HTTP
        Port : 5985
        Hostname :
        Enabled : true
        URLPrefix : wsman
        CertificateThumbprint :
        ListeningOn : {}

  WinRM サービスのスタートアップの種類を設定する方法

    次のエラーの場合に該当します。

        ERROR: ACCESS IS DENIED

    PowerShell リモート処理は、Windows Remote Management (WinRM) サービスに依
    存します。リモートコマンドをサポートするには、サービスが実行されている必要
    があります。

    サーバーバージョンの Windows では、WinRM サービスのスタートアップの種類は
    Automatic です。ただし、クライアントバージョンの Windows では、WinRM サー
    ビスは既定で無効になっています。

    次の例を使って、WinRM サービスのスタートアップの種類を Automatic に設定し、
    サービスを開始します。ComputerName パラメーターは複数の値を受け取ります。

        $invokeCimMethodSplat = @{
            ComputerName = 'Server01', 'Server02'
            Query = 'Select * From Win32_Service Where Name = "WinRM"'
            MethodName = 'ChangeStartMode'
            Arguments = @{StartMode = 'Automatic'}
        }
        Invoke-CimMethod @invokeCimMethodSplat

  既定のセッション構成を再作成する方法

    次のエラーの場合に該当します。

        ERROR: ACCESS IS DENIED

    Enable-PSRemoting を使うと、ローカルコンピューターに既定のセッション構成が
    作成されます。リモートユーザーは、リモートコマンドに ConfigurationName パラ
    メーターが含まれていない場合は常に、これらのセッション構成を使います。

    コンピューターの既定の構成が登録解除または削除された場合は、
    Enable-PSRemoting コマンドレットを使って再作成します。このコマンドレットは
    繰り返し使えます。機能が既に構成されていてもエラーは生成されません。

    既定のセッション構成を変更した後、元のセッション構成を復元する場合は、構成
    を削除して再作成できます。

    変更したセッション構成を削除するには、Unregister-PSSessionConfiguration コ
    マンドレットを使います。元のセッション構成を復元するには、Enable-PSRemoting
    を使います。Enable-PSRemoting は、既存のセッション構成を変更しません。

    メモ: Enable-PSRemoting が既定のセッション構成を復元する場合、構成の明示的
    なセキュリティ記述子は作成されません。代わりに、構成は RootSDDL のセキュリ
    ティ記述子を継承します。RootSDDL は既定でセキュリティが確保されています。

    RootSDDL セキュリティ記述子を表示するには、次のように入力します。

        Get-Item WSMan:\localhost\Service\RootSDDL

    RootSDDL を変更するには、WSMan: ドライブで Set-Item コマンドレットを使いま
    す。セッション構成のセキュリティ記述子を変更するには、
    Set-PSSessionConfiguration コマンドレットを SecurityDescriptorSDDL または
    ShowSecurityDescriptorUI パラメーターと共に使います。

    WSMan: ドライブについて詳しくは、about_WSMan_Provider を参照してください。

  管理者の資格情報を指定する方法

    次のエラーの場合に該当します。

        ERROR: ACCESS IS DENIED

    既定のリモートセッションエンドポイントに接続するには、Administrators グル
    ープのメンバーである必要があります。New-PSSession、Enter-PSSession、
    Invoke-Command コマンドレットの Credential パラメーターを使うと、別の資格情
    報を使ってリモートエンドポイントに接続できます。

    次の例は、管理者ユーザーの資格情報を指定する方法を示しています。

        Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01

    Credential パラメーターについて詳しくは、New-PSSession、Enter-PSSession、
    Invoke-Command のヘルプを参照してください。

  管理者以外のユーザーのリモート処理を有効にする方法

    次のエラーの場合に該当します。

        ERROR: ACCESS IS DENIED

    既定では、コンピューターの Administrators グループのメンバーのみが既定のセ
    ッション構成を使う権限を持ちます。したがって、Administrators グループのメン
    バーのみがコンピューターにリモート接続できます。

    他のユーザーがローカルコンピューターに接続できるようにするには、ローカルコ
    ンピューターの既定のセッション構成に対する Execute (実行) 権限をユーザーに
    付与します。

    次の例では、ローカルコンピューターの既定の Microsoft.PowerShell セッション
    構成のセキュリティ記述子を変更できるプロパティシートを開きます。

        Set-PSSessionConfiguration Microsoft.PowerShell -ShowSecurityDescriptorUI

    詳しくは、about_Session_Configurations を参照してください。

  他のドメインの管理者のリモート処理を有効にする方法

    次のエラーの場合に該当します。

        ERROR: ACCESS IS DENIED

    別のドメインのユーザーがローカルコンピューターの Administrators グループの
    メンバーである場合、そのユーザーは管理者特権でローカルコンピューターにリモ
    ート接続できません。既定では、他のドメインからのリモート接続は、標準ユーザ
    ー権限のトークンのみで実行されます。

    LocalAccountTokenFilterPolicy レジストリエントリを使うと、既定の動作を変更
    し、Administrators グループのメンバーであるリモートユーザーが管理者特権で実
    行できるようにできます。

    注意: LocalAccountTokenFilterPolicy エントリは、対象となるすべてのコンピュ
    ーターのすべてのユーザーについて、ユーザーアカウント制御 (UAC) のリモート制
    限を無効にします。ポリシーを変更する前に、この設定の影響を慎重に検討してく
    ださい。

    LocalAccountTokenFilterPolicy レジストリ値を 1 に設定するには、次のコマンド
    を使います。

        $newItemPropertySplat = @{
          Name = 'LocalAccountTokenFilterPolicy'
          Path = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System'
          PropertyType = 'DWord'
          Value = 1
        }
        New-ItemProperty @newItemPropertySplat

  リモートコマンドで IP アドレスを使う方法

    次のエラーの場合に該当します。

        ERROR: The WinRM client cannot process the request. If the
        authentication scheme is different from Kerberos, or if the client
        computer is not joined to a domain, then HTTPS transport must be used
        or the destination machine must be added to the TrustedHosts
        configuration setting.

    New-PSSession、Enter-PSSession、Invoke-Command コマンドレットの
    ComputerName パラメーターは、IP アドレスを有効な値として受け取ります。ただ
    し、Kerberos 認証は IP アドレスをサポートしないため、IP アドレスを指定する
    と NTLM 認証が使われます。

    NTLM 認証をサポートするには、次の要件を満たす必要があります。

    - HTTPS トランスポート用にコンピューターを構成するか、リモートコンピュータ
      ーの IP アドレスをローカルコンピューターの TrustedHosts 一覧に追加しま
      す。
    - すべてのリモートコマンドで Credential パラメーターを使います。これは、現
      在のユーザーとして接続する場合でも必要です。

  ワークグループベースのコンピューターからリモート接続する方法

    次のエラーの場合に該当します。

        ERROR: The WinRM client cannot process the request. If the
        authentication scheme is different from Kerberos, or if the client
        computer is not joined to a domain, then HTTPS transport must be used
        or the destination machine must be added to the TrustedHosts
        configuration setting.

    ローカルコンピューターがドメインに参加していない場合は、次の要件を満たす必
    要があります。

    - HTTPS トランスポート用にコンピューターを構成するか、リモートコンピュータ
      ーの IP アドレスをローカルコンピューターの TrustedHosts 一覧に追加しま
      す。
    - ワークグループベースのコンピューターにパスワードが設定されていることを確
      認します。パスワードが設定されていないか、パスワード値が空の場合は、リモ
      ートコマンドを実行できません。
    - すべてのリモートコマンドで Credential パラメーターを使います。これは、現
      在のユーザーとして接続する場合でも必要です。

  信頼されたホスト一覧にコンピューターを追加する方法

    TrustedHosts 項目には、コンピューター名、IP アドレス、完全修飾ドメイン名を
    コンマ区切りで指定できます。ワイルドカードを使えます。

    信頼されたホスト一覧を表示または変更するには、WSMan: ドライブを使います。
    TrustedHost 項目は WSMan:\localhost\Client ノードにあります。コンピューター
    の信頼されたホスト一覧を変更する権限を持つのは、コンピューターの
    Administrators グループのメンバーのみです。

    注意: TrustedHosts 項目に設定する値は、コンピューターのすべてのユーザーに
    影響します。

    信頼されたホストの一覧を表示するには、次のコマンドを使います。

        Get-Item WSMan:\localhost\Client\TrustedHosts

    次の例では、ワイルドカード文字 (*) を使って、すべてのコンピューターを信頼
    されたホスト一覧に追加します。

        Set-Item WSMan:localhost\client\trustedhosts -Value *

    ワイルドカード文字 (*) を使って、特定のドメイン内のすべてのコンピューター
    を信頼されたホスト一覧に追加することもできます。たとえば、次のコマンドは
    Fabrikam ドメイン内のすべてのコンピューターを追加します。

        Set-Item WSMan:localhost\client\trustedhosts *.fabrikam.com

    次の例では、信頼されたホスト一覧を 1 台のコンピューターに設定します。

        $server = 'Server01.Domain01.Fabrikam.com'
        Set-Item WSMan:\localhost\Client\TrustedHosts -Value $server

    既存の信頼されたホスト一覧にコンピューター名を追加するには、まず現在の値を
    変数に保存します。次に、現在の値と新しい値を含むコンマ区切りの文字列に値を
    設定します。

    次の例では、既存の信頼されたホスト一覧に Server01 を追加します。

        $newServer = 'Server01.Domain01.Fabrikam.com'
        $curValue = (Get-Item WSMan:\localhost\Client\TrustedHosts).Value
        Set-Item WSMan:\localhost\Client\TrustedHosts -Value "$curValue, $newServer"

    特定のコンピューターの IP アドレスを信頼されたホスト一覧に追加するには、次
    のコマンド形式を使います。

        Set-Item WSMan:\localhost\Client\TrustedHosts -Value <IP Address>

    例:

        Set-Item WSMan:\localhost\Client\TrustedHosts -Value 172.16.0.0

    リモートコンピューターの TrustedHosts 一覧にコンピューターを追加するには、
    Connect-WSMan を使ってリモートコンピューターの WSMan: ドライブに接続し、
    Set-Item を使ってコンピューターを追加します。

    詳しくは、Connect-WSMan のヘルプを参照してください。

  別のポートでリモート処理を構成する方法

    次のエラーの場合に該当します。

        ERROR: The connection to the specified remote host was refused.
        Verify that the WS-Management service is running on the remote host
        and configured to listen for requests on the correct port and HTTP
        URL.

    PowerShell リモート処理は、既定で HTTP トランスポートにポート 80 を使いま
    す。既定のポートは、ユーザーがリモートコマンドで ConnectionURI または Port
    パラメーターを指定しない場合に常に使われます。

    リスナーリーフノードの Port 値を変更するには、Set-Item コマンドレットを使
    います。

    たとえば、次のコマンドは既定のポートを 8080 に変更します。

        Set-Item WSMan:\localhost\listener\listener*\port -Value 8080

  プロキシサーバーを使ってリモート処理を構成する方法

    次のエラーの場合に該当します。

        ERROR: The client cannot connect to the destination specified in the
        request. Verify that the service on the destination is running and is
        accepting requests.

    PowerShell リモート処理は HTTP プロトコルを使うため、HTTP プロキシ設定の影
    響を受けます。プロキシサーバーを持つエンタープライズでは、ユーザーは
    PowerShell リモートコンピューターに直接アクセスできません。

    この問題を解決するには、リモートコマンドでプロキシ設定オプションを使いま
    す。

    - New-PSSessionOption コマンドレットの ProxyAccessType、
      ProxyAuthentication、ProxyCredential パラメーターを使って、エンタープラ
      イズのプロキシ設定を持つ PSSessionOption オブジェクトを含む変数を作成し
      ます。
    - PSSessionOption オブジェクトを含む変数を、New-PSSession、
      Enter-PSSession、Invoke-Command コマンドの SessionOption パラメーターと
      共に使います。

        $newPSSessionOptionSplat = @{
            ProxyAccessType = 'IEConfig'
            ProxyAuthentication = 'Negotiate'
            ProxyCredential = 'Domain01\User01'
        }
        $SessionOption = New-PSSessionOption @newPSSessionOptionSplat

        $newPSSessionSplat = @{
            ConnectionUri = 'https://www.fabrikam.com'
            SessionOption = $SessionOption
        }
        New-PSSession @newPSSessionSplat

    New-PSSessionOption コマンドレットについて詳しくは、New-PSSessionOption を
    参照してください。

    現在のセッション内のすべてのリモートコマンドにこれらのオプションを設定する
    には、$PSSessionOption 基本設定変数を、作成した PSSessionOption オブジェク
    トに設定します。詳しくは、about_Preference_Variables を参照してください。

    ローカルコンピューター上のすべての PowerShell セッションのすべてのリモート
    コマンドにこれらのオプションを設定するには、$PSSessionOption 基本設定変数を
    PowerShell プロファイルに追加します。PowerShell プロファイルについて詳しく
    は、about_Profiles を参照してください。

  64 ビットコンピューターで 32 ビットセッションを検出する方法

    次のエラーの場合に該当します。

        ERROR: The term <tool-name> is not recognized as the name of a cmdlet,
        function, script file, or operable program. Check the spelling of the
        name, or if a path was included, verify that the path is correct and
        try again.

    リモートコンピューターが 64 ビットバージョンの Windows を実行しており、リモ
    ートコマンドが Microsoft.PowerShell32 などの 32 ビットセッション構成を使う
    場合、WinRM は WOW64 プロセスを読み込みます。Windows は、
    $Env:windir\System32 へのすべての参照を $Env:windir\SysWOW64 ディレクトリに
    自動的にリダイレクトします。

    その結果、SysWOW64 ディレクトリに対応するものがない System32 ディレクトリ内
    のツールを実行すると、見つからなくなります。

    セッションで使われているプロセッサアーキテクチャを調べるには、
    PROCESSOR_ARCHITECTURE 環境変数の値を使います。

        $s = New-PSSession -ComputerName Server01 -ConfigurationName CustomShell
        Invoke-Command -Session $s {$Env:PROCESSOR_ARCHITECTURE}

        x86

    詳しくは、about_Session_Configurations を参照してください。

  ポリシーと基本設定の問題のトラブルシューティング

    このセクションでは、ローカルコンピューターとリモートコンピューターで設定さ
    れたポリシーと基本設定に関連するリモート処理の問題について説明します。

  Import-PSSession と Import-Module の実行ポリシーを変更する方法

    次のエラーの場合に該当します。

        ERROR: Import-Module: File <filename> cannot be loaded because the
        execution of scripts is disabled on this system.

    Import-PSSession コマンドレットと Export-PSSession コマンドレットは、署名さ
    れていないスクリプトファイルと書式設定ファイルを含むモジュールを作成しま
    す。

    これらのコマンドレットによって作成されたモジュールをインポートするには、現
    在のセッションの実行ポリシーを Restricted または AllSigned にすることはでき
    ません。詳しくは、about_Execution_Policies を参照してください。

    ローカルコンピューターの実行ポリシーを変更せずにモジュールをインポートする
    には、Set-ExecutionPolicy の Scope パラメーターを使って、単一のプロセスに対
    して制限の少ない実行ポリシーを設定します。

    たとえば、次の例では現在のプロセスの実行ポリシーを RemoteSigned に設定しま
    す。この変更は現在のプロセスにのみ影響します。

        Set-ExecutionPolicy -Scope Process -ExecutionPolicy RemoteSigned

    また、powershell.exe の ExecutionPolicy パラメーターを使って、制限の少ない
    実行ポリシーで単一のセッションを開始することもできます。

        pwsh.exe -ExecutionPolicy RemoteSigned

  クォータを設定および変更する方法

    クォータを使うと、偶発的および悪意のある過剰なリソース使用からローカルコン
    ピューターとリモートコンピューターを保護できます。クォータがコマンドと競合
    すると、PowerShell は次のエラーを生成します。

        ERROR: The total data received from the remote client exceeded allowed
        maximum.

    WSMan プロバイダーには、次のクォータ設定があります。

    - WSMan:<ComputerName> ノードの MaxEnvelopeSizeKB と MaxProviderRequests
      の設定、および WSMan:<ComputerName>\Service ノードの
      MaxConcurrentOperations、MaxConcurrentOperationsPerUser、MaxConnections
      の設定。
    - ローカルコンピューターを保護するために、New-PSSessionOption コマンドレッ
      トと $PSSessionOption 基本設定変数の MaximumReceivedDataSizePerCommand と
      MaximumReceivedObjectSize パラメーターを使えます。
    - リモートコンピューターを保護するために、Register-PSSessionConfiguration
      コマンドレットの MaximumReceivedDataSizePerCommandMB と
      MaximumReceivedObjectSizeMB パラメーターを使って、セッション構成に制限を
      追加します。

    エラーを解決するには、クォータに準拠するようにリモートコマンドを変更する
    か、コマンドが完了できるようにクォータを増やします。

    たとえば、次のコマンドは、リモートコンピューターの Microsoft.PowerShell セ
    ッション構成のオブジェクトサイズクォータを 10 MB (既定値) から 11 MB に増や
    します。

        $setPSSessionConfigurationSplat = @{
            Name = 'Microsoft.PowerShell'
            MaximumReceivedObjectSizeMB = 11
            Force = $true
        }
        Set-PSSessionConfiguration @setPSSessionConfigurationSplat

    WS-Management のクォータについて詳しくは、about_WSMan_Provider を参照してく
    ださい。

  タイムアウトエラーを解決する方法

    タイムアウトを使うと、偶発的および悪意のある過剰なリソース使用からローカル
    コンピューターとリモートコンピューターを保護できます。ローカルコンピュータ
    ーとリモートコンピューターの両方でタイムアウトが設定されている場合、
    PowerShell は最も短いタイムアウト設定を使います。

    タイムアウト値が操作の完了を許可しない場合、PowerShell は操作を終了し、次の
    エラーを生成します。

        ERROR: The WS-Management service cannot complete the operation within
        the time specified in OperationTimeout.

    WSMan プロバイダーには、次のタイムアウト設定があります。

    - WSMan:<ComputerName> ノードの MaxTimeoutMs 設定、および
      WSMan:<ComputerName>\Service ノードの EnumerationTimeoutMs と
      MaxPacketRetrievalTimeSeconds の設定。
    - New-PSSessionOption コマンドレットと $PSSessionOption 基本設定変数の
      CancelTimeout、IdleTimeout、OpenTimeout、OperationTimeout パラメーターを
      使って、ローカルコンピューターを保護できます。
    - セッションのセッション構成でタイムアウト値をプログラムによって設定するこ
      とで、リモートコンピューターを保護することもできます。

    エラーを解決するには、タイムアウト間隔内で完了するようにコマンドを変更する
    か、コマンドが完了できるようにタイムアウト間隔を増やします。

    次の例では、OperationTimeout 値が 4 分 (ミリ秒単位) のセッションオプション
    を作成し、そのセッションオプションを使ってリモートセッションを作成します。

        $pso = New-PSSessionOption -OperationTimeout 240000
        New-PSSession -ComputerName Server01 -SessionOption $pso

    WS-Management のタイムアウトについて詳しくは、about_WSMan_Provider を参照し
    てください。

  応答しないコマンドを中断する方法

    ユーザーインターフェイスを持つプログラム、入力を求めるコンソールアプリケー
    ション、Win32 コンソール API を使うコンソールアプリケーションなど、一部のネ
    イティブプログラムは、PowerShell リモートホストで正しく動作しません。

    これらのプログラムを使うと、出力なし、部分的な出力、完了しないリモートコマ
    ンドなど、予期しない動作が発生することがあります。

    応答しないプログラムを終了するには、Ctrl+c を入力します。ローカルホストとリ
    モートセッションで Get-Error を使うと、報告された可能性のあるエラーを表示で
    きます。

  操作の失敗から回復する方法

    操作が完了する前に終了されると、次のエラーが返されます。

        ERROR: The I/O operation has been aborted because of either a thread
        exit or an application request.

    通常、これは他の WinRM 操作の進行中に WinRM サービスが停止または再起動した
    ときに発生します。

    この問題を解決するには、WinRM サービスが実行されていることを確認し、コマン
    ドを再試行します。

    1. [管理者として実行] オプションで PowerShell を起動します。
    2. 次のコマンドを実行します。

           Start-Service WinRM

    3. エラーを生成したコマンドを再実行します。

  Linux と macOS の制限事項

    PowerShell リモート処理は、Linux と macOS では SSH を介したリモート処理を使
    います。詳しくは、PowerShell Remoting Over SSH を参照してください。

関連項目
    about_Remote
    about_Remote_Requirements
    about_Remote_Variables
    Import-Module
    Export-PSSession
    Import-PSSession

----
原文: PowerShell-Docs (CC BY 4.0) の翻訳 / PSHelpJaJP