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