トピック 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