Set-PSSessionConfiguration
登録済みセッション構成のプロパティを変更します。
構文
Set-PSSessionConfiguration
[-Name] <String>
[-ApplicationBase <String>]
[-RunAsCredential <PSCredential>]
[-ThreadApartmentState <ApartmentState>]
[-ThreadOptions <PSThreadOptions>]
[-AccessMode <PSSessionConfigurationAccessMode>]
[-UseSharedProcess]
[-StartupScript <String>]
[-MaximumReceivedDataSizePerCommandMB <Double>]
[-MaximumReceivedObjectSizeMB <Double>]
[-SecurityDescriptorSddl <String>]
[-ShowSecurityDescriptorUI]
[-Force]
[-NoServiceRestart]
[-PSVersion <Version>]
[-SessionTypeOption <PSSessionTypeOption>]
[-TransportOption <PSTransportOption>]
[-ModulesToImport <Object[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-PSSessionConfiguration
[-Name] <String>
[-AssemblyName] <String>
[-ApplicationBase <String>]
[-ConfigurationTypeName] <String>
[-RunAsCredential <PSCredential>]
[-ThreadApartmentState <ApartmentState>]
[-ThreadOptions <PSThreadOptions>]
[-AccessMode <PSSessionConfigurationAccessMode>]
[-UseSharedProcess]
[-StartupScript <String>]
[-MaximumReceivedDataSizePerCommandMB <Double>]
[-MaximumReceivedObjectSizeMB <Double>]
[-SecurityDescriptorSddl <String>]
[-ShowSecurityDescriptorUI]
[-Force]
[-NoServiceRestart]
[-PSVersion <Version>]
[-SessionTypeOption <PSSessionTypeOption>]
[-TransportOption <PSTransportOption>]
[-ModulesToImport <Object[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-PSSessionConfiguration
[-Name] <String>
[-RunAsCredential <PSCredential>]
[-ThreadApartmentState <ApartmentState>]
[-ThreadOptions <PSThreadOptions>]
[-AccessMode <PSSessionConfigurationAccessMode>]
[-UseSharedProcess]
[-StartupScript <String>]
[-MaximumReceivedDataSizePerCommandMB <Double>]
[-MaximumReceivedObjectSizeMB <Double>]
[-SecurityDescriptorSddl <String>]
[-ShowSecurityDescriptorUI]
[-Force]
[-NoServiceRestart]
[-TransportOption <PSTransportOption>]
-Path <String>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
説明
このコマンドレットは、Windows プラットフォームでのみ使用できます。
Set-PSSessionConfiguration
コマンドレットは、ローカル コンピューター上のセッション構成のプロパティを変更します。
Name パラメーターを使用して、変更するセッション構成を識別します。 他のパラメーターを使用して、セッション構成のプロパティの新しい値を指定します。 構成からプロパティ値を削除し、既定値を使用するには、空の文字列 (""
) または対応するパラメーターの $null
の値を入力します。
PowerShell 3.0 以降では、セッション構成ファイルを使用してセッション構成を定義できます。 この機能は、セッション構成を使用するセッションのプロパティを設定および変更するための簡単で検出可能な方法を提供します。 セッション構成ファイルを指定するには、の Set-PSSessionConfiguration
パラメーターを使用します。 セッション構成ファイルの詳細については、about_Session_Configuration_Filesを参照してください。 セッション構成ファイルを作成および変更する方法については、New-PSSessionConfigurationFile
コマンドレットを参照してください。
セッション構成では、ローカル コンピューターに接続するリモート セッション (PSSessions) の環境を定義します。 すべての PSSession はセッション構成を使用します。 セッション構成によって、PSSessionの機能 (セッションで使用可能なモジュール、実行が許可されるコマンドレット、言語モード、クォータ、タイムアウトなど) が決まります。 セッション構成のセキュリティ記述子によって、セッション構成を使用してローカル コンピューターに接続できるユーザーが決まります。 セッション構成の詳細については、「about_Session_Configurations」を参照してください。
セッション構成のプロパティを表示するには、Get-PSSessionConfiguration
コマンドレットまたは WSMan プロバイダーを使用します。 WSMan プロバイダーの詳細については、「Get-Help WSMan
」と入力します。
例
例 1: セッション構成の作成と変更
この例では、構成からスタートアップ スクリプトを追加および削除する方法を示します。
最初のコマンドは、AdminShell 構成を作成します。 2 番目のコマンドは、AdminConfig.ps1
スクリプトを構成に追加します。 この変更は、WinRM 再起動するときに有効です。
3 番目のコマンドは、AdminConfig.ps1
スクリプトを構成から削除します。
Register-PSSessionConfiguration -Name "AdminShell" -AssemblyName "C:\Shells\AdminShell.dll" -ConfigurationTypeName "AdminClass"
Set-PSSessionConfiguration -Name "AdminShell" -StartupScript "AdminConfig.ps1"
Set-PSSessionConfiguration -Name "AdminShell" -StartupScript $null
例 2: 結果を表示する
次の使用例は、MaximumReceivedObjectSizeMB プロパティの値を 20
に増やします。 このコマンドを実行すると、WinRM サービスを再起動するように求められます。 この変更は、WinRM サービスが再起動されるまで有効ではありません。
Set-PSSessionConfiguration -Name "IncObj" -MaximumReceivedObjectSizeMB 20
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\IncObj\InitializationParameters
ParamName ParamValue
--------- ----------
psmaximumreceivedobjectsizemb 20
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "Restart-Service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
例 3: さまざまな方法で結果を表示する
この例では、Set-PSSessionConfiguration
MaintenanceShell セッション構成のスタートアップ スクリプトを Maintenance.ps1
に変更します。 出力には変更が表示され、WinRM サービスを再起動するように求められます。 応答は y
(はい) です。
Get-PSSessionConfiguration
は、MaintenanceShell セッション構成を取得します。 パイプライン演算子 (|
) は、コマンドの結果を Format-List
に送信し、構成オブジェクトのすべてのプロパティを一覧に表示します。 次に、WSMan プロバイダーを使用して、MaintenanceShell 構成の初期化パラメーターを確認します。
Get-ChildItem
は、MaintenanceShell プラグインの InitializationParameters ノードの子項目を取得します。 WSMan プロバイダーの詳細については、「Get-Help WSMan
」と入力します。
Set-PSSessionConfiguration -Name "MaintenanceShell" -StartupScript "C:\ps-test\Maintenance.ps1"
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell\InitializationParameters
ParamName ParamValue
--------- ----------
startupscript C:\ps-test\Mainte...
"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run
the command "Restart-Service winrm"?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Get-PSSessionConfiguration MaintenanceShell | Format-List -Property *
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name : MaintenanceShell
Filename : %windir%\system32\pwrshplugin.dll
SDKVersion : 1
XmlRenderingType : text
lang : en-US
PSVersion : 2.0
startupscript : C:\ps-test\Maintenance.ps1
ResourceUri : http://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions : true
ExactMatch : true
Capability : {Shell}
Permission :
Get-ChildItem WSMan:\localhost\Plugin\MaintenanceShell\InitializationParameters
ParamName ParamValue
--------- ----------
PSVersion 2.0
startupscript C:\ps-test\Maintenance.ps1
パラメーター
-AccessMode
セッション構成を有効および無効にし、コンピューター上のリモート セッションとローカル セッションのどちらに使用できるかを決定します。 このパラメーターに使用できる値は次のとおりです。
-
Disabled
. セッション構成を無効にします。 コンピューターへのリモート アクセスまたはローカル アクセスには使用できません。 この値は、セッション構成 () のWSMan:\<ComputerName>\PlugIn\<SessionConfigurationName>\Enabled
プロパティをFalse
に設定します。 -
Local
. セッション構成のセキュリティ記述子に Network_Deny_All エントリを追加します。 ローカル コンピューターのユーザーは、セッション構成を使用して同じコンピューター上にローカル ループバック セッションを作成できますが、リモート ユーザーはアクセスを拒否されます。 -
Remote
. セッション構成のセキュリティ記述子から Deny_All エントリと Network_Deny_All エントリを削除します。 ローカル コンピューターとリモート コンピューターのユーザーは、セッション構成を使用してセッションを作成し、このコンピューターでコマンドを実行できます。
既定値は[リモート です。
他のコマンドレットは、後でこのパラメーターの値をオーバーライドできます。 たとえば、Enable-PSRemoting
コマンドレットは、コンピューター上のすべてのセッション構成を有効にし、それらに対するリモート アクセスを許可し、Disable-PSRemoting
コマンドレットは、コンピューター上のすべてのセッション構成へのローカル アクセスのみを許可します。
このパラメーターは PowerShell 3.0 で導入されました。
型: | PSSessionConfigurationAccessMode |
指定可能な値: | Disabled, Local, Remote |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ApplicationBase
*.dll
パラメーターの値で指定されるアセンブリ ファイル () のパスを指定します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-AssemblyName
アセンブリ名を指定します。 このコマンドレットは、アセンブリで定義されているクラスに基づいてセッション構成を作成します。
セッション構成を定義するアセンブリ .dll
ファイルのファイル名または完全パスを入力します。 ファイル名のみを入力する場合は、ApplicationBase パラメーターの値にパスを入力できます。
型: | String |
配置: | 1 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ConfigurationTypeName
AssemblyName パラメーターでアセンブリで定義されているセッション構成の種類を指定します。 指定する型は、System.Management.Automation.Remoting.PSSessionConfiguration クラスを実装する必要があります。
このパラメーターは、アセンブリ名を指定するときに必要です。
型: | String |
配置: | 2 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Confirm
コマンドレットを実行する前に確認を求めるメッセージが表示されます。
型: | SwitchParameter |
Aliases: | cf |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Force
すべてのユーザー プロンプトを抑制し、プロンプトを表示せずに、WinRM サービスを再起動します。 サービスを再起動すると、構成の変更が有効になります。
再起動を防ぎ、再起動プロンプトを表示しないようにするには、NoServiceRestart パラメーターを使用します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaximumReceivedDataSizePerCommandMB
任意の 1 つのリモート コマンドでこのコンピューターに送信できるデータ量の制限を指定します。 データ サイズをメガバイト (MB) で入力します。 既定値は 50
です。
ConfigurationTypeName パラメーターで指定された構成の種類でデータ サイズの制限が定義されている場合は、構成の種類の制限が使用されます。 このパラメーターの値は無視されます。
型: | Nullable<T>[Double] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-MaximumReceivedObjectSizeMB
任意の 1 つのオブジェクトでこのコンピューターに送信できるデータ量の制限を指定します。
データ サイズをメガバイト単位で入力します。 既定値は 10
です。
ConfigurationTypeName パラメーターで指定された構成の種類でオブジェクト サイズの制限が定義されている場合は、構成の種類の制限が使用されます。 このパラメーターの値は無視されます。
型: | Nullable<T>[Double] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ModulesToImport
セッション構成を使用するセッションに自動的にインポートされるモジュールとスナップインを指定します。 モジュールとスナップインの名前を入力します。
既定では、Microsoft.PowerShell.Core モジュールのみがセッションにインポートされますが、コマンドレットが除外されない限り、Import-Module
コマンドレットと Add-PSSnapin
コマンドレットを使用して、モジュールとスナップインをセッションに追加できます。
このパラメーター値で指定されたモジュールは、セッション構成ファイル (New-PSSessionConfigurationFile
) で指定されたモジュールに加えてインポートされます。 ただし、セッション構成ファイルの設定では、モジュールによってエクスポートされたコマンドを非表示にしたり、ユーザーがコマンドを使用できないようにしたりできます。
このパラメーター値で指定されたモジュールは、指定されたモジュールの一覧を、 コマンドレットの Register-PSSessionConfiguration
パラメーターに置き換えます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | Object[] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Name
変更するセッション構成の名前を指定します。
このパラメーターを使用してセッション構成の名前を変更することはできません。
型: | String |
配置: | 0 |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-NoServiceRestart
WinRM サービスを再起動せず、サービスの再起動を求めるメッセージを表示しません。
既定では、Set-PSSessionConfiguration
を実行すると、新しいセッション構成を有効にするために、WinRM サービスを再起動するように求められます。
WinRM サービスが再起動されるまで、新しいセッション構成は有効ではありません。
プロンプトを表示せずに WinRM サービスを再起動するには、Force パラメーターを使用します。
WinRM サービスを手動で再起動するには、Restart-Service
コマンドレットを使用します。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-Path
セッション構成ファイル (.pssc
) のパス (New-PSSessionConfigurationFile
コマンドレットによって作成されたものなど) を指定します。 パスを省略した場合、既定値は現在のディレクトリです。
セッション構成ファイルを変更する方法については、New-PSSessionConfigurationFile
コマンドレットのヘルプ トピックを参照してください。
このパラメーターは PowerShell 3.0 で導入されました。
型: | String |
配置: | Named |
規定値: | None |
必須: | True |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-PSVersion
このセッション構成を使用するセッションの PowerShell のバージョンを指定します。
このパラメーターの値は、セッション構成ファイル内の PowerShellVersion キーの値よりも優先されます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | Version |
Aliases: | PowerShellVersion |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-RunAsCredential
セッション内のコマンドの資格情報を指定します。 既定では、コマンドは現在のユーザーのアクセス許可を使用して実行されます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | PSCredential |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SecurityDescriptorSddl
構成に別のセキュリティ記述子定義言語 (SDDL) 文字列を指定します。
この文字列は、新しいセッション構成を使用するために必要なアクセス許可を決定します。 セッションでセッション構成を使用するには、ユーザーは構成に対する少なくとも Execute(Invoke)
アクセス許可を持っている必要があります。
構成に既定のセキュリティ記述子を使用するには、空の文字列 (""
) または $null
の値を入力します。 既定値は、WSMan:
ドライブのルート SDDL です。
セキュリティ記述子が複雑な場合は、このパラメーターではなく、ShowSecurityDescriptorUI パラメーターを使用することを検討してください。 同じコマンドで両方のパラメーターを使用することはできません。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-SessionTypeOption
セッション構成の種類固有のオプションを指定します。
コマンドレットから返される New-PSWorkflowExecutionOption
オブジェクトなど、セッションの種類のオプション オブジェクトを入力します。
セッション構成を使用するセッションのオプションは、セッション オプションとセッション構成オプションの値によって決まります。 指定しない限り、セッションで設定されたオプション (New-PSSessionOption
コマンドレットなど) は、セッション構成で設定されたオプションよりも優先されます。 ただし、セッション オプションの値は、セッション構成で設定された最大値を超えることはできません。
このパラメーターは PowerShell 3.0 で導入されました。
型: | PSSessionTypeOption |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ShowSecurityDescriptorUI
このパラメーターを使用すると、コマンドレットは、セッション構成用の新しい SDDL を作成するのに役立つプロパティ シートを開きます。
Set-PSSessionConfiguration
コマンドを実行し、WinRM サービスを再起動すると、プロパティ シートが表示されます。
構成にアクセス許可を設定する場合は、セッションでセッション構成を使用するには、少なくとも Execute(Invoke)
アクセス許可が必要です。
SecurityDescriptorSDDL パラメーターとこのパラメーターを同じコマンドで使用することはできません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StartupScript
構成のスタートアップ スクリプトを指定します。 PowerShell スクリプトの完全修飾パスを入力します。 指定されたスクリプトは、セッション構成を使用する新しいセッションで実行されます。
セッション構成からスタートアップ スクリプトを削除するには、空の文字列 (""
) または $null
の値を入力します。
スタートアップ スクリプトを使用して、ユーザー セッションをさらに構成できます。 スクリプトでエラーが生成された場合 (終了しないエラーであっても)、セッションは作成されず、New-PSSession
コマンドは失敗します。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ThreadApartmentState
使用するスレッド モジュールのアパートメント状態を指定します。 使用可能な値は次のとおりです。
Unknown
MTA
STA
型: | ApartmentState |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-ThreadOptions
構成のスレッド オプションの設定を指定します。 この設定では、セッションでコマンドを実行するときにスレッドを作成して使用する方法を定義します。 このパラメーターに使用できる値は次のとおりです。
Default
ReuseThread
UseCurrentThread
UseNewThread
既定値は UseCurrentThread
です。
詳細については、「PSThreadOptions 列挙を参照してください。
型: | PSThreadOptions |
指定可能な値: | Default, UseNewThread, ReuseThread, UseCurrentThread |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-TransportOption
セッション構成のトランスポート オプションを指定します。
コマンドレットから返される New-PSTransportOption
オブジェクトなどのトランスポート オプション オブジェクトを入力します。
セッション構成を使用するセッションのオプションは、セッション オプションとセッション構成オプションの値によって決まります。 指定しない限り、セッションで設定されたオプション (New-PSSessionOption
コマンドレットなど) は、セッション構成で設定されたオプションよりも優先されます。 ただし、セッション オプションの値は、セッション構成で設定された最大値を超えることはできません。
このパラメーターは PowerShell 3.0 で導入されました。
型: | PSTransportOption |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-UseSharedProcess
同じユーザーによって開始されたすべてのセッションをホストし、同じセッション構成を使用するには、1 つのプロセスのみを使用します。 既定では、各セッションは独自のプロセスでホストされます。
このパラメーターは PowerShell 3.0 で導入されました。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-WhatIf
コマンドレットを実行した場合の動作を示します。 コマンドレットは実行されません。
型: | SwitchParameter |
Aliases: | wi |
配置: | Named |
規定値: | False |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
メモ
このコマンドレットは、Windows プラットフォームでのみ使用できます。
このコマンドレットを実行するには、[管理者として実行] オプションを使用して PowerShell を起動します。
Set-PSSessionConfiguration
コマンドレットは構成名を変更せず、WSMan プロバイダー は Rename-Item
コマンドレットをサポートしていません。 セッション構成の名前を変更するには、Unregister-PSSessionConfiguration
コマンドレットを使用して構成を削除し、Register-PSSessionConfiguration
コマンドレットを使用して新しいセッション構成を作成して登録します。
Set-PSSessionConfiguration
コマンドレットを使用して、既定の Microsoft.PowerShell
と Microsoft.PowerShell32
セッション構成を変更できます。 これらは保護されていません。 既定のセッション構成の元のバージョンに戻すには、Unregister-PSSessionConfiguration
コマンドレットを使用して既定のセッション構成を削除し、Enable-PSRemoting
コマンドレットを使用して復元します。
セッション構成オブジェクトのプロパティは、セッション構成に設定されたオプションとそれらのオプションの値によって異なります。 また、セッション構成ファイルを使用するセッション構成には、追加のプロパティがあります。
WSMan:
ドライブのコマンドを使用して、セッション構成のプロパティを変更できます。
ただし、PowerShell 2.0 の WSMan:
ドライブを使用して、PowerShell 3.0 で導入されたセッション構成プロパティ (OutputBufferingModeなど) を変更することはできません。 Windows PowerShell 2.0 コマンドはエラーを生成しませんが、無効です。 PowerShell 3.0 で導入されたプロパティを変更するには、PowerShell 3.0 以降の WSMan:
ドライブを使用します。
関連リンク
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- New-PSTransportOption
- Register-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- WSMan プロバイダー
- about_Session_Configurations
- about_Session_Configuration_Files
PowerShell