Get-PSSessionConfiguration

コンピューターに登録されたセッション構成を取得します。

構文

Get-PSSessionConfiguration
   [[-Name] <String[]>]
   [-Force]
   [<CommonParameters>]

説明

このコマンドレットは Get-PSSessionConfiguration 、ローカル コンピューターに登録されているセッション構成を取得します。 これは、ユーザーに応じてカスタマイズされたセッション構成を管理するために、システム管理者向けに設計された高度なコマンドレットです。

PowerShell 3.0 以降では、セッション構成 (.pssc) ファイルを使用してセッション構成のプロパティを定義できます。 この機能を使用すると、コンピューター プログラムを記述せずに、カスタマイズされ、制限されたセッションを作成できます。 セッション構成ファイルの詳細については、「about_Session_Configuration_Files」を参照してください。

また、PowerShell 3.0 以降では、返されるセッション構成オブジェクトに新しいノート プロパティが Get-PSSessionConfiguration 追加されました。 ユーザーとセッション構成の作成者は、これらのプロパティによって、セッション構成の比較検討が容易になります。

セッション構成を作成して登録するには、コマンドレットを Register-PSSessionConfiguration 使用します。 セッション構成の詳細については、「 about_Session_Configurations」を参照してください。

例 1 - ローカル コンピューターでセッション構成を取得する

Get-PSSessionConfiguration

例 2 - 2 つの既定のセッション構成を取得する

このコマンドでは、Name パラメーターGet-PSSessionConfiguration使用して、"Microsoft" で始まる名前を持つセッション構成のみを取得します。

Get-PSSessionConfiguration -Name Microsoft*

Name                      PSVersion  StartupScript        Permission
----                      ---------  -------------        ----------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll...
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll...

例 3 - セッション構成のプロパティと値を取得する

この例は、セッション構成ファイルを使用して作成されたセッション構成のプロパティとプロパティ値を示しています。

Get-PSSessionConfiguration -Name Full  | Format-List -Property *

Copyright                     : (c) 2011 User01. All rights reserved.
AliasDefinitions              : {System.Collections.Hashtable}
SessionType                   : Default
CompanyName                   : Unknown
GUID                          : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author                        : User01
ExecutionPolicy               : Restricted
SchemaVersion                 : 1.0.0.0
LanguageMode                  : FullLanguage
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 10
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
configfilepath                : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 300
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
SDKVersion                    : 1
Name                          : Full
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 25
Enabled                       : True
MaxShellsPerUser              : 30
Permission                    :

この例では、コマンドレットを Get-PSSessionConfiguration 使用して完全なセッション構成を取得します。 パイプラインオペレーターは、完全なセッション構成をコマンドレットに Format-List 送信します。 値が (all) の * Property パラメーターは、リスト内のオブジェクトのすべてのプロパティと値を表示するように指示Format-Listします。

出力には、セッション構成の作成者、セッションの種類、言語モード、このセッション構成で作成されたセッションの実行ポリシー、セッション クォータ、セッション構成ファイルへの完全なパスなど、有用な情報が含まれます。

このセッション構成の表示は、セッション構成ファイルを含むセッションに使用されます。 セッション構成ファイルの詳細については、「about_Session_Configuration_Files」を参照してください。

例 4 - セッション構成を確認する別の方法

この例では、 Get-ChildItem WSMan: プロバイダー ドライブのコマンドレット (エイリアス dir) を使用して、Plugin ノードの内容を確認します。 これは、コンピューター上のセッション構成を確認するもう 1 つの方法です。

dir wsman:\localhost\plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=WMI Provider}                 WMI Provider

PlugIn ノードには、登録済みの PowerShell セッション構成を表す ContainerElement オブジェクト (Microsoft.WSMan.Management.WSManConfigContainerElement) と、WS-Management 用の他のプラグインが含まれています。

例 6 - リモート コンピューターでのセッション構成の表示

この例は、WSMan プロバイダーを使用して、リモート コンピューター上のセッション構成を表示する方法を示しています。 このメソッドはコマンドほど多くの情報をGet-PSSessionConfiguration提供しませんが、このコマンドレットを実行するためにユーザーが 管理istrators グループのメンバーである必要はありません。

Connect-WSMan -ComputerName Server01
dir WSMan:\Server01\Plugin

WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Empty}                        Empty
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=NoLanguage}                   NoLanguage
Container       {Name=RestrictedLang}               RestrictedLang
Container       {Name=RRS}                          RRS
Container       {Name=SEL Plugin}                   SEL Plugin
Container       {Name=WithProfile}                  WithProfile
Container       {Name=WMI Provider}                 WMI Provider

このコマンドレットは Connect-WSMan 、Server01 リモート コンピューター上の WinRM サービスに接続します。 Get-ChildItem WSMan: ドライブのコマンドレット (エイリアスdir) は、Server01\Plugin パス内の項目を取得します。 出力には、Server01 コンピューターの Plugin ディレクトリ内の項目が表示されます。 これらの項目には、WSMan プラグインの一種であるセッション構成と、コンピューター上の他の種類のプラグインが含まれます。

例 7 - リモート コンピューターから詳細なセッション構成を取得する

この例では、リモート コンピューターでコマンドを Get-PSSessionConfiguration 実行する方法を示します。 例に挙げたコマンドは、ローカル コンピューター上のクライアント設定およびリモート コンピューター上のサービス設定で、CredSSP 委任が有効になっている必要があります。

この例のコマンドを実行するには、ローカル コンピューターとリモート コンピューターの 管理istrators グループのメンバーである必要があります。また、[管理者として実行] オプションを使用して PowerShell を起動する必要があります。

Enable-WSManCredSSP -Delegate Server02
Connect-WSMan Server02
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01

Name                      PSVersion  StartupScript        Permission                          PSComputerName
----                      ---------  -------------        ----------                          --------------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell                5.1        c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com

このコマンドレットはEnable-WSManCredSSP、ローカル コンピューターである Server01 で CredSSP 委任を有効にします。 このコマンドレットは Connect-WSMan Server02 コンピューターに接続します。 この操作により、ローカル コンピューター上の WSMan: ドライブに Server02 のノードが追加され、Server02 コンピューターの WS-Management 設定を表示および変更できます。 このコマンドレットはSet-Item、Server02 コンピューターのサービス ノードの CredSSP 項目の値を True変更します。 これにより、リモート コンピューターのサービス設定が構成されます。 このコマンドレットは Invoke-CommandGet-PSSessionConfiguration Server02 コンピューターでコマンドを実行します。 このコマンドは Credential パラメーターを使用し、値が CredSSPAuthentication パラメーターを使用します。 出力には、Server02 リモート コンピューター上のセッション構成が表示されます。

例 8 - セッション構成のリソース URI を取得する

この例は、リソース URI を受け取る基本設定変数の $PSSessionConfigurationName 値を設定する場合に便利です。

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

http://schemas.microsoft.com/powershell/microsoft.CustomShell

この変数は $PSSessionConfigurationName 、セッションの作成時に使用される既定の構成を指定します。 この変数は、ローカル コンピューターで設定されますが、リモート コンピューターの構成を指定します。 $PSSessionConfiguration 変数の詳細については、「about_Preference_Variables」を参照してください。

パラメーター

-Force

WinRM サービスが実行されていない場合に、WinRM サービスの再起動を求めるメッセージを表示しません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定された名前または名前パターンのセッション構成のみを取得します。 1 つ以上のセッション構成名を入力します。 ワイルドカードを使用できます。

Type:String[]
Position:0
Default value:All session configurations on the local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:True

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

メモ

  • このコマンドレットを実行するには、[管理者として実行] オプションを使用して PowerShell を起動します。

  • コンピューター上のセッション構成を表示するには、そのコンピューターの Administrators グループのメンバーである必要があります。

  • リモート コンピューターでコマンドを Get-PSSessionConfiguration 実行するには、ローカル コンピューターのクライアント設定 (コマンドレットを使用 Enable-WSManCredSSP ) とリモート コンピューターのサービス設定で、資格情報セキュリティ サービス プロバイダー (CredSSP) 認証を有効にする必要があります。 また、リモート セッションを確立するときは、Authentication パラメーターの CredSSP 値を使用する必要があります。 使用しない場合は、アクセスが拒否されます。

  • 返される Get-PSSessionConfiguration オブジェクトのメモ プロパティは、値がある場合にのみオブジェクトに表示されます。 セッション構成ファイルを使用して作成されたセッション構成にのみ、定義されたすべてのプロパティがあります。

  • セッション構成オブジェクトのプロパティは、セッション構成に設定されているオプションとその値によって異なります。 また、セッション構成ファイルを使用するセッション構成には追加のプロパティがあります。

  • WSMan: ドライブでコマンドを使用して、セッション構成のプロパティを変更できます。 ただし、PowerShell 2.0 の WSMan: ドライブを使用して、PowerShell 3.0 で導入されたセッション構成プロパティ (OutputBufferingMode など) を変更することはできません。 PowerShell 2.0 コマンドはエラーを生成しませんが、効果がありません。 PowerShell 3.0 で導入されたプロパティを変更するには、PowerShell 3.0 の WSMan: ドライブを使用します。