トピック
    about_Remote_Troubleshooting

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

詳細説明
    ここでは、WS-Management テクノロジに基づく Windows PowerShell のリモート処理
    機能を使用しているときに発生する可能性があるいくつかの問題と、その解決策に
    ついて説明します。

    Windows PowerShell のリモート処理機能を使用する前に、「about_Remote」と
    「about_Remote_Requirements」を参照し、構成と基本的な使用方法についての
    ガイダンスを確認してください。各リモート処理コマンドレットのヘルプ トピック
    (特にパラメーターの説明) にも、問題の回避に役立つ有益な情報が記載されていま
    す。

    このトピックの最新版と Windows PowerShell の他のヘルプ トピックは、Microsoft 
    TechNet ライブラリでオンラインで提供されています。このヘルプ トピックのオン
    ライン バージョンを見るには、次の URL をお使いのインターネット ブラウザーに
    貼り付けてください。

	https://go.microsoft.com/fwlink/?LinkID=135188
 

    注: Windows Vista、Windows Server 2008、およびそれ以降のバージョンの Windows 
    で WSMan: ドライブのローカル コンピューターの設定を表示、変更する場合は (セッ
    ション構成、信頼されたホスト、ポート、またはリスナーを変更する場合も含む)、
    [管理者として実行] を指定して Windows PowerShell を起動します。

 アクセス許可と認証に関する問題のトラブルシューティング

    ここでは、ユーザーとコンピューターのアクセス許可およびリモート処理の要件に
    関連する問題を取り上げます。

    Windows PowerShell を管理者として実行する方法
    ---------------------------
        エラー: アクセスが拒否されました。このコマンドレットは、昇格されたプロセ
        スから実行する必要があります。

    ローカル コンピューターでリモート セッションを開始する場合や、WSMan: ドライブ
    のローカル コンピューターの設定を表示、変更する場合 (セッション構成、信頼され
    たホスト、ポート、またはリスナーを変更する場合も含む) は、[管理者として実行] 
    を指定して Windows PowerShell を起動します。

    [管理者として実行] を指定して Windows PowerShell を起動するには

    -- [Windows PowerShell] (または [Windows PowerShell ISE]) アイコンを右クリッ
    クし、[管理者として実行] をクリックします。

    Windows 7 および Windows Server 2008 R2 で [管理者として実行] を指定して 
    Windows PowerShell を起動するには

    -- Windows タスク バーの [Windows PowerShell] アイコンを右クリックし、
    [Windows PowerShell を管理者として実行] をクリックします。

    注: Windows Server 2008 R2 では、[Windows PowerShell] アイコンが既定でタスク
    バーに固定されています。

    リモート処理を有効にする方法
    ----------------------
        エラー: アクセスが拒否されました。
        - または -
        エラー: リモート ホストへの接続が拒否されました。WS-Management サービス
        がリモート ホストで実行されており、適切なポートおよび HTTP URL で要求を
        リッスンするように構成されていることを確認してください。

    コンピューターでリモート コマンドを送信できるようにするための構成は不要です。
    ただし、リモート コマンドを受信するには、コンピューターをリモート処理用に
    構成する必要があります。
    具体的には、WinRM サービスを開始し、WinRM サービスのスタートアップの種類を 
    [自動] に設定します。次に、HTTP 接続用および HTTPS 接続用のリスナーを作成し、
    既定のセッション構成を作成します。

    コンピューターでリモート コマンドを受信できるように構成するには、
    Enable-PSRemoting コマンドレットを使用します。次のコマンドは、必要なすべて
    のリモート設定とセッション構成を有効にし、WinRM サービスを再起動して変更を
    有効にします。

        enable-psremoting

    ユーザー プロンプトをすべて非表示にするには、次のように入力します。

        enable-psremoting -force

    詳細については、「Enable-PSRemoting」を参照してください。

    社内のリモート処理を有効にする方法
    ---------------------------------------
        エラー: アクセスが拒否されました。
        - または -
        エラー: リモート ホストへの接続が拒否されました。WS-Management サービス
        がリモート ホストで実行されており、適切なポートおよび HTTP URL で要求を
        リッスンするように構成されていることを確認してください。

    単一のコンピューターでリモート Windows PowerShell コマンドを受信したり、
    接続を受け入れたりできるようにするには、Enable-PSRemoting コマンドレットを
    使用します。

    社内の複数のコンピューターのリモート処理を有効にするには、次のカスタマイズ
    可能なオプションを使用します。

    -- リモート処理用にリスナーを構成するには、"リスナーの自動構成を許可する" 
        グループ ポリシーを有効にします。その手順については、以下の「グループ 
        ポリシーを使用してリスナーを有効にする方法」を参照してください。
 
    -- 複数のコンピューターで Windows Remote Management (WinRM) のスタートアップ
        の種類を [自動] に設定するには、Set-Service コマンドレットを使用します。
        その手順については、以下の「WinRM サービスのスタートアップの種類を設定する
        方法」を参照してください。

    -- ファイアウォール例外を有効にするには、"Windows ファイアウォール: ローカル
        ポートの例外を許可する" グループ ポリシーを使用します。その手順については、
        以下の「グループ ポリシーを使用してファイアウォール例外を作成する方法」を
        参照してください。

 

    グループ ポリシーを使用してリスナーを有効にする方法
    ------------------------------------------------
        エラー: アクセスが拒否されました。
        - または -
        エラー: リモート ホストへの接続が拒否されました。WS-Management サービス
        がリモート ホストで実行されており、適切なポートおよび HTTP URL で要求を
        リッスンするように構成されていることを確認してください。

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

        [コンピューターの構成]\[管理用テンプレート]\[Windows コンポーネント]\
        [Windows リモート管理 (WinRM)]\[WinRM サービス]

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

    グループ ポリシーを使用してファイアウォール例外を有効にする方法
    ----------------------------------------------------------
        エラー: アクセスが拒否されました。
        - または -
        エラー: リモート ホストへの接続が拒否されました。WS-Management サービス
        がリモート ホストで実行されており、適切なポートおよび HTTP URL で要求を
        リッスンするように構成されていることを確認してください。

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

        [コンピューターの構成]\[管理用テンプレート]\[ネットワーク]\[ネットワー
        ク接続]\[Windows ファイアウォール]\[ドメイン プロファイル]

    このポリシーを指定すると、コンピューターの Administrators グループのメンバー
    は、コントロール パネルの [Windows ファイアウォール] を使用して Windows 
    Remote Management サービスのファイアウォール例外を作成できるようになります。

    WinRM サービスのスタートアップの種類を設定する方法
    ------------------------------------------------
        エラー: アクセスが拒否されました。

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

    Windows Server 2003、Windows Server 2008、および Windows Server 2008 R2 
    では、Windows Remote Management (WinRM) サービスのスタートアップの種類は 
    [自動] です。

    一方、Windows XP、Windows Vista、および Windows 7 では、WinRM サービスは
    既定では無効になっています。

    リモート コンピューターでサービスのスタートアップの種類を設定するには、
    Set-Service コマンドレットを使用します。

    複数のコンピューター上でコマンドを実行するには、それらのコンピューター名を
    記載したテキストファイルまたは CSV ファイルを作成します。

    たとえば、次のコマンドは、Servers.txt ファイルからコンピューター名の一覧を
    取得し、そのすべてのコンピューターで WinRM サービスのスタートアップの種類
    を [自動] に設定します。

        C:\PS> $servers = get-content servers.txt

        C:\PS> set-service WinRM -computername $servers -startuptype Automatic
        

    結果を確認するには、Get-WMIObject コマンドレットを使用して Win32_Service 
    オブジェクトを取得します。
    詳細については、「Set-Service」を参照してください。

    

    既定のセッション構成を再作成する方法
    --------------------------------------------------
        エラー: アクセスが拒否されました。

    ローカル コンピューターに接続してコマンドをリモートで実行するには、ローカル
    コンピューターにリモート コマンド用のセッション構成が必要です。

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

    コンピューターで既定の構成が登録されていないか、削除されている場合は、
    Enable-PSRemoting コマンドレットで再作成可能です。このコマンドレットは何度
    でも使用できます。機能が既に構成されていても、エラーは発生しません。

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

    注: Enable-PSRemoting で既定のセッション構成に戻しても、構成のセキュリティ
    記述子は明示的には作成されません。代わりに、既定でセキュリティ保護されている
    RootSDDL のセキュリティ記述子が継承されます。

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

        get-item wsman:\localhost\Service\RootSDDL

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

    WSMan: ドライブの詳細については、WS-Management プロバイダーのヘルプ トピック
    を参照してください (「get-help wsman」)。


    管理者の資格情報を提供する方法
    ----------------------------------------
        エラー: アクセスが拒否されました。

    リモート コンピューター上で PSSession を作成するか、コマンドを実行するには、
    既定では、現在のユーザーはリモート コンピューターの Administrators グループ
    のメンバーである必要があります。
    現在のユーザーが Administrators グループに属しているアカウントにログオンして
    いる場合でも、資格情報が必要になることがあります。

    現在のユーザーがリモート コンピューターの Administrators グループのメンバー
    であるか、Administrators グループのメンバーの資格情報を提供できる場合は、
    New-PSSession、Enter-PSSession、または Invoke-Command コマンドレットの 
    Credential パラメーターを使用してリモート接続します。

    たとえば、管理者の資格情報を提供するには、次のコマンドを使用します。

        Invoke-Command -ComputerName Server01 -Credential Domain01\Admin01
        
 
    Credential パラメーターの詳細については、「New-PSSession」、
    「Enter-PSSession」、または「Invoke-Command」を参照してください。

    管理者ではないユーザーのリモート処理機能を有効にする方法
    ---------------------------------------------------
        エラー: アクセスが拒否されました。

    ユーザーがリモート コンピューター上で PSSession を確立するか、コマンドを
    実行するには、リモート コンピューターのセッション構成を使用するのに必要な
    アクセス許可が必要です。

    既定のセッション構成を使用するのに必要なアクセス許可を持つのは、既定では
    コンピューターの Administrators グループのメンバーだけです。したがって、
    コンピューターにリモート接続できるのは Administrators グループのメンバー
    に限られます。

    それ以外のユーザーがローカル コンピューターに接続できるようにするには、
    ローカル コンピューターの既定のセッション構成にユーザーの "実行" アクセス
    許可を追加します。

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

        Set-PSSessionConfiguration Microsoft.Powershell -ShowSecurityDescriptorUI
        

    詳細については、「about_Session_Configurations」を参照してください。

    他のドメインの管理者のリモート処理機能を有効にする方法
    ----------------------------------------------------------
        エラー: アクセスが拒否されました。

    ローカル コンピューターの Administrators グループのメンバーであるユーザーが
    別のドメイン内にいるとき、管理者特権を使用してそのローカル コンピューターに
    リモート接続することはできません。
    既定では、他のドメインからのリモート接続は、標準的なユーザー特権のトークン
    だけを使用して行われます。

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

    注意: LocalAccountTokenFilterPolicy エントリを使用すると、該当するすべての
    コンピューターの全ユーザーを対象に、ユーザー アカウント制御 (UAC) のリモー
    ト処理の制限が無効化されます。ポリシーを変更する前に、この設定の影響につい
    て慎重に検討してください。
    
    ポリシーを変更するには、次のコマンドを使用して 
    LocalAccountTokenFilterPolicy レジストリ エントリの値を 1 に設定します。

        C:\PS> new-itemproperty -name LocalAccountTokenFilterPolicy -path`
            HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\
            System-propertyType`
            DWord -value 1

    リモート コマンドで IP アドレスを使用する方法
    -----------------------------------------------------
        エラー: WinRM クライアントは要求を処理できません。認証スキームが 
        Kerberos と異なる場合、またはクライアント コンピューターがドメインに参加
        していない場合は、HTTPS トランスポートを使用するか、または宛先コンピュー
        ターが TrustedHosts 構成設定に追加されている必要があります。

    New-PSSession、Enter-PSSession、および Invoke-Command コマンドレットの 
    ComputerName パラメーターは、IP アドレスを有効な値として受け入れます。
    ただし、Kerberos 認証は IP アドレスをサポートしていないため、IP アドレスを
    指定した場合は既定で NTLM 認証が使用されます。

    NTLM 認証を使用する場合は、リモート処理のために次の手順を実行する必要があり
    ます。

    1. コンピューターを HTTPS トランスポート用に構成するか、リモート コンピュー
       ターの IP アドレスをローカル コンピューターの TrustedHosts リストに追加
       します。

       その手順については、以下の「コンピューターを信頼されたホストの一覧に追加
       する方法」を参照してください。

    2. すべてのリモート コマンドで Credential パラメーターを使用します。
  
       このパラメーターは、現在のユーザーの資格情報を送信する場合にも必要です。

   
    ワークグループベースのコンピューターからリモート接続する方法
    -------------------------------------------------------
        エラー: WinRM クライアントは要求を処理できません。認証スキームが 
        Kerberos と異なる場合、またはクライアント コンピューターがドメインに
        参加していない場合は、HTTPS トランスポートを使用するか、または宛先
        コンピューターが TrustedHosts構成設定に追加されている必要があります。

    ローカル コンピューターがドメイン内にない場合、リモート処理のために次の
    手順を実行する必要があります。

    1. コンピューターを HTTPS トランスポート用に構成するか、リモート コンピュー
       ターの名前をローカル コンピューターの TrustedHosts リストに追加します。

       その手順については、以下の「コンピューターを信頼されたホストの一覧に追加
       する方法」を参照してください。

    2. ワークグループベースのコンピューターでパスワードが設定されていることを
       確認します。
       パスワードが設定されていないか、パスワードの値が空である場合は、リモート
       コマンドを実行できません。

       ユーザー アカウントのパスワードを設定するには、コントロール パネルの 
       [ユーザー アカウント] を使用します。

    3. すべてのリモート コマンドで Credential パラメーターを使用します。
  
       このパラメーターは、現在のユーザーの資格情報を送信する場合にも必要です。


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

    TrustedHosts 項目には、コンピューター名、IP アドレス、および完全修飾
    ドメイン名のコンマ区切り一覧を含めることができます。ワイルドカードを使用
    できます。

    信頼されたホストの一覧を表示または変更するには、WSMan: ドライブを使用しま
    す。TrustedHost 項目は、WSMan:\localhost\Client ノードにあります。

    コンピューターで信頼されたホストの一覧を変更するアクセス許可を持つのは、
    そのコンピューターの Administrators グループのメンバーだけです。

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

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

        get-item wsman:\localhost\Client\TrustedHosts

    Set-Location コマンドレット (エイリアスは cd) を使用して、WSMan: ドライブ
    のこの場所に移動することもできます。
    たとえば、「cd WSMan:\localhost\Client; dir」と入力します。

    すべてのコンピューターを信頼されたホストの一覧に追加するには、次のコマンド
    を使用します。このコマンドでは、ComputerName の値として * (すべて) を指定
    しています。

        set-item wsman:localhost\client\trustedhosts -value *

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

        set-item wsman:localhost\client\trustedhosts *.fabrikam.com

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

        set-item wsman:\localhost\Client\TrustedHosts -value <ComputerName>[,<ComputerName>]
        

    値 <ComputerName> には、次のような形式を使用します。

        <Computer>.<Domain>.<Company>.<top-level-domain>

    次にその例を示します。

        set-item wsman:\localhost\Client\TrustedHosts -value Server01.Domain01.Fabrikam.com
        

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

    たとえば、Server01 コンピューターを既存の信頼されたホストの一覧に追加する
    には、次のコマンドを使用します。

        $curValue = (get-item wsman:\localhost\Client\TrustedHosts).value
        

        set-item wsman:\localhost\Client\TrustedHosts -value "$
        curValue, Server01.Domain01.Fabrikam.com"

    特定のコンピューターの 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 コマンドレットの詳細については、「Connect-WSMan」を参照して
    ください。

 コンピューターの構成に関する問題のトラブルシューティング
    ここでは、コンピューター、ドメイン、または企業の特定の構成に関連する、
    リモート処理上の問題について説明します。

    代替ポートでリモート処理を構成する方法
    --------------------------------------------
        エラー: 指定されたリモート ホストへの接続が拒否されました。
        WS-Management サービスがリモート ホストで実行されており、適切なポート
        および HTTP URLで要求をリッスンするように構成されていることを確認して
        ください。

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

    Windows PowerShell で使用する既定のポートを変更するには、WSMan: ドライブで 
    Set-Item コマンドレットを使用してリスナー リーフ ノードの Port 値を変更し
    ます。

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

        set-item wsman:\localhost\listener\listener*\port -value 8080

    プロキシ サーバーを使用したリモート処理を構成する方法
    ---------------------------------------------
        エラー: クライアントは、要求で指定された接続先に接続できません。接続先
        のサービスが実行されていて、要求を受け付けられる状態であることを確認
        してください。

    Windows PowerShell のリモート処理では HTTP プロトコルを使用するため、HTTP 
    プロキシの設定の影響を受けます。プロキシ サーバーを使用している企業では、
    ユーザーは Windows PowerShell リモート コンピューターに直接アクセスできま
    せん。

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

        --  ProxyAccessType
        --  ProxyAuthentication
        --  ProxyCredential

    特定のコマンドでこれらのオプションを設定するには、次の手順を使用します。

        1. New-PSSessionOption コマンドレットの ProxyAccessType、
           ProxyAuthentication、および 
           ProxyCredential パラメーターを使用して、会社のプロキシ設定を含む
           セッション オプション オブジェクトを作成します。
           オプション オブジェクトを変数に保存します。

        2. オプション オブジェクトが含まれている変数を、New-PSSession、
           Enter-PSSession、または
           Invoke-Command コマンドの SessionOption パラメーターの値として使用
           します。

    たとえば、次のコマンドは、プロキシ セッション オプションを含むセッション 
    オプション オブジェクトを作成し、そのオブジェクトを使用してリモート セッ
    ションを作成します。

        C:\PS> $SessionOption = New-PSSessionOption -ProxyAccessType IEConfig` 
        -ProxyAuthentication Negotiate -ProxyCredential Domain01\User01
        

        C:\PS> New-PSSession -ConnectionURI https://www.fabrikam.com

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

    現在のセッション内のすべてのリモート コマンドでこれらのオプションを設定する
    には、New-PSSessionOption によって作成されるオプション オブジェクトを 
    $PSSessionOption 設定変数の値として使用します。
    $PSSessionOption 設定変数の詳細については、「about_Preference_Variables」を
    参照してください。
    

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

    64 ビット コンピューターで 32 ビット セッションを検出する方法
    ---------------------------------------------------
        エラー: 用語 "<tool-name>" は、コマンドレット、関数、スクリプト 
        ファイル、または操作可能なプログラムの名前として認識されません。
        名前が正しく記述されていることを確認し、パスが含まれている場合はその
        パスが正しいことを確認してから、再試行してください。

    リモート コンピューターで 64 ビット バージョンの Windows を実行しており、
    リモート コマンドが Microsoft.PowerShell32 などの 32 ビットのセッション
    構成を使用している場合、Windows Remote Management (WinRM) は WOW64 
    プロセスを読み込み、%Windir%\System32 ディレクトリへの参照はすべて 
    %windir%\SysWOW64 ディレクトリにリダイレクトされます。

    そのため、Defrag.exe のように、System32 ディレクトリにあるツールを使用しよ
    うとしても、それに相当するツールが SysWow64 ディレクトリにない場合は、見つ
    けることができません。

    セッションで使用されているプロセッサ アーキテクチャを特定するには、
    PROCESSOR_ARCHITECTURE 環境変数の値を使用します。次のコマンドを使用すると、
    $s 変数に保存されているセッションのプロセッサ アーキテクチャを特定できます。

        C:\PS> $s = new-pssession -computername Server01 -configurationName CustomShell
        

        C:\PS> invoke-command -session $s {$env:PROCESSOR_ARCHITECTURE} x86

    セッション構成の詳細については、「about_session_configurations」を参照して
    ください。

 ポリシーと設定に関連する問題のトラブルシューティング
    ここでは、ローカル コンピューターとリモート コンピューターで設定されている
    ポリシーと設定に関連する、リモート処理上の問題について説明します。

    IMPORT-PSSESSION と IMPORT-MODULE の実行ポリシーを変更する方法
    --------------------------------------------------------------------
        エラー: Import-Module: スクリプトの実行がシステムで無効になっているため、
        ファイル <filename> を読み込めません。

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

    これらのコマンドレットによって作成されるモジュールを Import-PSSession 
    または Import-Module を使用してインポートする場合は、現在のセッションの実行
    ポリシーが "Restricted" または "AllSigned" であってはなりません。Windows 
    PowerShell の実行ポリシーの詳細については、「about_Execution_Policies」を
    参照してください。

    レジストリに設定されているローカル コンピューターの実行ポリシーを変更する
    ことなくモジュールをインポートするには、Set-ExecutionPolicy の Scope パラ
    メーターを使用して、単一のプロセスに制限の緩い実行ポリシーを設定します。

    たとえば、次のコマンドは、RemoteSigned 実行ポリシーでプロセスを開始します。
    実行ポリシーの変更は現在のプロセスにのみ影響します。Windows PowerShell 
    ExecutionPolicy レジストリ設定は変更されません。

        set-executionpolicy -scope process -executionpolicy RemoteSigned

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

        powershell.exe -executionpolicy RemoteSigned

    これらのコマンドレットの詳細については、「Import-PSSession」、
    「Export-PSSession」、および「Import-Module」を参照してください。実行
    ポリシーの詳細については、「about_Execution_Policies」を参照してください。
    PowerShell.exe コンソールのヘルプ オプションの詳細については、
    「powershell.exe -?」と入力してください。

    クォータを設定および変更する方法
    ----------------------------
        エラー: リモート クライアントから受信した合計データは、許容される最大
        サイズを超えています。

    クォータを利用すると、ローカル コンピューターとリモート コンピューターを
    ミスや悪意によるリソースの過剰な使用から保護することができます。

    基本の構成では、次のクォータを利用できます。

    -- WS-Management プロバイダー (WSMan:) では、WSMan:\<ComputerName> 
        ノードでの MaxEnvelopeSizeKB と MaxProviderRequests、
        WSMan:\<ComputerName>\Service ノードでの 
        MaxConcurrentOperations、MaxConcurrentOperationsPerUser、および 
        MaxConnections など、いくつかのクォータの設定が可能です。

    -- ローカル コンピューターを保護するには、New-PSSessionOption コマンドレット
        の MaximumReceivedDataSizePerCommandMB パラメーターと 
        MaximumReceivedObjectSizeMB パラメーター、および $PSSessionOption 設定変数
        を使用します。

    -- リモート コンピューターを保護するには、Register-PSSessionConfiguration
        コマンドレットの MaximumReceivedDataSizePerCommandMB パラメーターと 
        MaximumReceivedObjectSizeMB パラメーターを使用するなどして、セッション構成
        に制限を加えます。

    クォータがコマンドと競合する場合は、Windows PowerShell によってエラーが
    生成されます。

    エラーを解決するには、クォータに合わせてリモート コマンドを変更するか、
    クォータのソースを確認し、コマンドを完了できるようにクォータを増やします。

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

        Set-PSSessionConfiguration -name microsoft.powershell `
        -MaximumReceivedObjectSizeMB 11 -Force
        

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

    WS-Management のクォータの詳細については、WS-Management プロバイダーの
    ヘルプ トピックを参照してください (ヘルプを表示するには、
    「get-help WSMan」と入力します)。

    タイムアウト エラーを解決する方法
    -----------------------------
        エラー: WS-Management サービスは、OperationTimeout で指定された時間内
        に操作を完了できません。

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

    基本の構成では、次のタイムアウトを利用できます。

    -- WS-Management プロバイダー (WSMan:) では、WSMan:\<ComputerName> ノードで
        の MaxTimeoutms、WSMan:\<ComputerName>\Service ノードでの 
        numerationTimeoutms と MaxPacketRetrievalTimeSeconds など、クライアント側と
        サービス側でいくつかのタイムアウトを設定できます。
 
    -- ローカル コンピューターを保護するには、New-PSSessionOption コマンド
        レットの CancelTimeout、IdleTimeout、OpenTimeout、OperationTimeout の
        各パラメーターと、$PSSessionOption 設定変数を使用します。

    -- セッションのセッション構成でタイムアウト値をプログラムで設定すること
        により、リモート コンピューターを保護することもできます。

    タイムアウトするまでの時間内に操作を完了できない場合、操作は停止され、
    エラーが生成されます。

    このエラーを解決するには、タイムアウトするまでの間に完了するようにコマンド
    を変更するか、タイムアウト制限のソースを確認して、コマンドを完了できるよう
    にタイムアウトまでの間隔を長くします。

    たとえば、次のコマンドは、New-PSSessionOption コマンドレットを使用して、
    OperationTimeout 値を 4 分 (ミリ秒単位) に設定したセッション オプション
    オブジェクトを作成し、それを使用してリモート セッションを作成します。

        C:\PS> $pso = new-pssessionoption -operationtimeout 240000

        C:\PS> new-pssession -computername Server01 -sessionOption $pso

    WS-Management のタイムアウトの詳細については、WS-Management プロバイダー
    のヘルプ トピックを参照してください (ヘルプを表示するには、
    「get-help WSMan」と入力します)。

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

 プログラムが応答しなくなった場合のトラブルシューティング

 ここでは、リモート処理でコマンドが完了しなくなる問題や、Windows PowerShell 
 プロンプトに戻らなくなったり戻るのが遅れたりする問題について説明します。

    コマンドを停止する方法
    --------------------------
    ユーザー インターフェイスを備えたプログラム、ユーザーに入力を求めるコン
    ソール アプリケーション、Win32 コンソール API を使用するコンソール アプリ
    ケーションなど、一部のネイティブの Windows プログラムは、Windows PowerShell 
    リモート ホストでは正常に機能しません。

    これらのプログラムを使用すると、出力が行われない、一部しか出力されない、
    リモート コマンドが完了しないなど、予期しない動作が発生する可能性があり
    ます。

    応答しなくなったプログラムを終了するには、Ctrl キーを押しながら C キーを
    押します。報告されたエラーを表示するには、ローカル ホストとリモート 
    セッションで「$error」と入力します。


関連項目
    オンライン バージョン: https://go.microsoft.com/fwlink/?LinkID=135188
    about_remote
    about_remote_requirements




目次