トピック
    about_Session_Configurations

簡易説明
    コンピューターにリモートから接続できるユーザーと、そのユーザーが実行できるコマンドを決定
    するセッション構成について説明します。

詳細説明
    セッション構成は、リモート ユーザーがローカル コンピューターに接続したときに作成される 
    Windows PowerShell セッションの環境を定義する、ローカル コンピューター上の設定のグループで
    す。

    コンピューターの管理者は、セッション構成を使用して、コンピューターを保護したり、コンピュー
    ターに接続するユーザーのカスタム環境を定義したりできます。

    また、管理者は、セッション構成を使用して、コンピューターにリモート接続するのに必要なアクセス
    許可を決定できます。既定では、Administrators グループのメンバーのみに、セッション構成を使用
    してリモート接続するアクセス許可が与えられます。ただし、既定の設定を変更して、すべてのユー
    ザーまたは選択したユーザーがコンピューターにリモート接続できるようにすることもできます。

    セッション構成は、Web Services for Management (WS-Management) ベースの Windows PowerShell 
    リモート処理の機能の 1 つです。セッション構成は、New-PSSession コマンドレット、
    Invoke-Command コマンドレット、または Enter-PSSession コマンドレットを使用してリモート 
    コンピューターに接続するときにのみ使用します。

    注: Windows Vista、Windows Server 2008、またはそれ以降のバージョンの Windows が実行されて
        いるコンピューターでセッション構成を管理するには、[管理者として実行] オプションを使用
        して Windows PowerShell を起動します。


  セッション構成について
   
      すべての Windows PowerShell セッションは、セッション構成を使用します。これには、ユーザー
      が New-PSSession コマンドレットまたは Enter-PSSession コマンドレットを使用して作成する
      永続的なセッションと、WS-Management ベースのリモート処理テクノロジを使用する 
      Invoke-Command などのコマンドレットの ComputerName パラメーターを使用したときに Windows 
      PowerShell によって作成される一時的なセッションが含まれます。

      管理者は、セッション構成を使用して、コンピューターのリソースを保護したり、コンピューター
      に接続するユーザーのカスタム環境を作成したりできます。たとえば、セッション構成を使用して、
      セッション中にコンピューターが受け取るオブジェクトのサイズを制限したり、セッションの言語
      モードを定義したりできます。さらに、セッションで使用できるコマンドレット、プロバイダー、
      および関数を指定することもできます。

      セッション構成のセキュリティ記述子を構成することで、セッション構成を使用してコンピュー
      ターに接続できるユーザーを決定できます。ユーザーがセッションでセッション構成を使用する
      には、セッション構成に対する "実行" アクセス許可が必要です。コンピューター上のいずれか
      のセッション構成を使用するために必要なアクセス許可を持っていないユーザーは、そのコン
      ピューターにリモート接続することはできません。     
   
      既定では、コンピューターの管理者のみに、既定のセッション構成を使用するアクセス許可が与
      えられます。ただし、セキュリティ記述子を変更すると、コンピューター上のセッション構成を
      すべてのユーザーまたは選択したユーザーだけが使用できるように許可したり、だれも使用でき
      ないように拒否したりできます。


 
  既定のセッション構成

      Windows PowerShell には、Microsoft.PowerShell という名前の組み込みのセッション構成が
      含まれています。64 ビット バージョンの Windows が実行されているコンピューターの場合、
      32 ビットのセッション構成である Microsoft.PowerShell32 も提供されます。

      これらのセッション構成は、既定でセッションに使用されます。つまり、セッションを作成す
      るコマンドに、New-PSSession コマンドレット、Enter-PSSession コマンドレット、または 
      Invoke-Command コマンドレットの ConfigurationName パラメーターが含まれていない場合に
      使用されます。

      既定のセッション構成のセキュリティ記述子では、ローカル コンピューター上の 
      Administrators グループのメンバーのみがセッション構成の使用を許可されます。したがって、
      既定の設定を変更しない限り、コンピューターにリモート接続できるのは Administrators グ
      ループのメンバーに限られます。

      既定のセッション構成を変更するには、$PSSessionConfigurationName ユーザー設定変数を使用
      します。詳細については、「about_Preference_Variables」を参照してください。



  ローカル コンピューター上のセッション構成の表示

      ローカル コンピューター上のセッション構成を取得するには、Get-PSSessionConfiguration 
      コマンドレットを使用します。

      たとえば、次のように入力します。

        C:\PS> get-pssessionconfiguration | format-list -property name, permission

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed


      Windows PowerShell で WS-Management プロバイダーを使用してセッション構成を表示すること
      もできます。WS-Management プロバイダーは、セッションに WSMAN: ドライブを作成します。

      WSMAN: ドライブにおいて、セッション構成は Plugin ノードに格納されます (すべてのセッ
      ション構成が Plugin ノードに格納されますが、Plugin ノードにはセッション構成ではない
      項目も含まれます)。

      たとえば、ローカル コンピューター上のセッション構成を表示するには、次のように入力し
      ます。

         C:\PS> dir wsman:\localhost\plugin\microsoft*
      
                    WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Name                      Type                 Keys
         ----                      ----                 ----
         microsoft.powershell      Container            {Name=microsoft.powershell}
         microsoft.powershell32    Container            {Name=microsoft.powershell}


  リモート コンピューター上のセッション構成の表示

      リモート コンピューター上のセッション構成を表示するには、Connect-WSMan コマンドレットを
      使用して、リモート コンピューターのノードをローカル コンピューター上の WSMAN: ドライブ
      に追加した後、WSMAN: ドライブを使用してセッション構成を表示します。

      たとえば、次のコマンドは、Server01 リモート コンピューターのノードをローカル コンピュー
      ター上の WSMAN: ドライブに追加します。

        C:\PS> connect-wsman server01.corp.fabrikam.com

      コマンドが完了すると、Server01 コンピューターのノードに移動してセッション構成を表示できます。
        
      次にその例を示します。

        C:\PS> cd wsman:
        
        PS WSMan:\> dir 

        ComputerName                                  Type
        ------------                                  ----
        localhost                                     Container
        server01.corp.fabrikam.com                    Container

        PS WSMan:\> dir server01*\plugin\*


               WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin

        Name                      Type            Keys
        ----                      ----            ----
        microsoft.powershell      Container       {Name=microsoft.powershell}
        microsoft.powershell32    Container       {Name=microsoft.powershell32}


  セッション構成のセキュリティ記述子の変更

      既定では、コンピューター上の Administrators グループのメンバーには、既定のセッション
      構成の "実行" アクセス許可が与えられます。ただし、既定のセッション構成および自分で作
      成するセッション構成のセキュリティ記述子を変更することができます。

      コンピューターにリモート接続するアクセス許可を他のユーザーに与えるには、
      Set-PSSessionConfiguration コマンドレットを使用して、Microsoft.PowerShell セッション
      構成および Microsoft.PowerShell32 セッション構成のセキュリティ記述子に対象ユーザーの 
      "実行" アクセス許可を追加します。

      たとえば、次のコマンドは、Microsoft.PowerShell の既定のセッション構成のセキュリティ
      記述子を変更するプロパティ ページを開きます。

        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

      コンピューター上のすべてのセッション構成に対するすべてのユーザーのアクセス許可を拒否
      するには、Disable-PSRemoting 関数または Disable-PSSessionConfiguration コマンドレット
      を使用します。たとえば、次のコマンドは、コンピューター上のすべてのセッション構成に 
      "すべて拒否" エントリを追加します。

        C:\PS> disable-psremoting


      特定のセッション構成に "すべて拒否" エントリを追加するには、
      Disable-PSSessionConfiguration コマンドレットを使用します。たとえば、次のコマンドは、
      Microsoft.PowerShell セッション構成に "すべて拒否" エントリを追加します。

        C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell
    

      すべてのセッション構成から "すべて拒否" エントリを削除するには、Enable-PSRemoting コマ
      ンドレットまたは Enable-PSSessionConfiguration コマンドレットを使用します。たとえば、
      次のコマンドは、既定のセッション構成から "すべて拒否" エントリを削除します。

        C:\PS> enable-pssessionConfiguration -name Microsoft.Power*


      セッション構成のセキュリティ記述子に対してこれ以外の変更を加える場合は、
      Set-PSSessionConfiguration コマンドレットを使用します。SDDL 文字列の値を指定するには、
      SecurityDescriptorSDDL パラメーターを使用します。新しい SDDL を作成するのに役立つ
      ユーザー インターフェイス プロパティ シートを表示するには、ShowSecurityDescriptorUI 
      パラメーターを使用します。

      次にその例を示します。
      
        C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -showSecurityDescriptorUI

     

  新しいセッション構成の作成

      ローカル コンピューター上に新しいセッション構成を作成するには、
      Register-PSSessionConfiguration コマンドレットを使用します。新しいセッション構成を定義
      するには、C# アセンブリ、Window PowerShell スクリプト、Register-PSSessionConfiguration 
      コマンドレットのパラメーターを使用できます。

      たとえば、次のコマンドは、Microsoft.PowerShell セッション構成と同じセッション構成を
      作成しますが、リモート コマンドから受け取るデータが 20 MB に制限される点が異なります 
      (既定値は 50 MB です)。

        c:\PS> register-psSessionConfiguration -name NewConfig --MaximumReceivedDataSizePerCommandMB 20

      作成したセッション構成は、他のセッション構成コマンドレットを使用して管理できます。
      セッション構成は、WSMAN: ドライブに表示されます。

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


     
  セッション構成の削除

      ローカル コンピューター上のセッション構成を削除するには、
      Unregister-PSSessionConfiguration コマンドレットを使用します。たとえば、次のコマンド
      は、NewConfig セッション構成をコンピューターから削除します。

        c:\PS> unregister-psSessionConfiguration -name NewConfig

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



  セッション構成の選択

      セッションに対して特定のセッション構成を選択するには、New-PSSession、Enter-PSSession、
      または Invoke-Command の ConfigurationName パラメーターを使用します。

      たとえば、次のコマンドは、New-PSSession コマンドレットを使用して Server01 コンピュー
      ターで PSSession を開始します。このコマンドでは、ConfigurationName パラメーターを使用
      して、Server01 コンピューター上の WithProfile 構成を選択しています。

        C:\PS> new-pssession -computername Server01 -configurationName WithProfile

      このコマンドは、現在のユーザーが WithProfile セッション構成を使用するアクセス許可を
      持っているか、または必要なアクセス許可を持つユーザーの資格情報を提供できる場合にのみ
      成功します。

      また、$PSSessionConfigurationName ユーザー設定変数を使用して、コンピューター上の既定の
      セッション構成を変更することもできます。$PSSessionConfigurationName ユーザー設定変数の
      詳細については、「about_Preference_Variables」を参照してください。


関連項目
    about_Preference_Variables
    about_PSSession
    about_Remote
    New-PSSession
    Disable-PSSessionConfiguration
    Enable-PSSessionConfiguration
    Get-PSSessionConfiguration
    Register-PSSessionConfiguration
    Set-PSSessionConfiguration
    Unregister-PSSessionConfiguration




目次