New-PSTransportOption
セッション構成の詳細オプションを含むオブジェクトを作成します。
構文
New-PSTransportOption
[-MaxIdleTimeoutSec <Int32>]
[-ProcessIdleTimeoutSec <Int32>]
[-MaxSessions <Int32>]
[-MaxConcurrentCommandsPerSession <Int32>]
[-MaxSessionsPerUser <Int32>]
[-MaxMemoryPerSessionMB <Int32>]
[-MaxProcessesPerSession <Int32>]
[-MaxConcurrentUsers <Int32>]
[-IdleTimeoutSec <Int32>]
[-OutputBufferingMode <OutputBufferingMode>]
[<CommonParameters>]
説明
New-PSTransportOption
コマンドレットは、セッション構成のトランスポート オプションを含むオブジェクトを作成します。 このオブジェクトは、 や Register-PSSessionConfiguration
コマンドレットなどのセッション構成を作成または変更するコマンドレットの Set-PSSessionConfiguration
パラメーターの値として使用できます。
WSMan: ドライブのセッション構成プロパティの値を編集して、トランスポート オプションの設定を変更することもできます。 詳細については、「WSMan プロバイダー」を参照してください。
セッション構成オプションは、サーバー側またはリモート接続の受信側で設定されたセッション値を表します。 クライアント側または接続の終了を送信すると、セッションが作成されたとき、またはクライアントがセッションから切断または再接続するときに、セッション オプションの値を設定できます。 特に明記されていない限り、設定値が競合する場合は、クライアント側の値が優先されます。 ただし、クライアント側の値は、セッション構成で設定された最大値とクォータに違反することはできません。
パラメーターがない場合、New-PSTransportOption
は、すべてのオプションに null 値を持つトランスポート オプション オブジェクトを生成します。 パラメーターを省略した場合、オブジェクトには、パラメーターが表すプロパティの null 値があります。 null 値はセッション構成には影響しません。
セッション オプションの詳細については、「New-PSSessionOption
」を参照してください。 セッション構成の詳細については、「about_Session_Configurations」を参照してください。
このコマンドレットは、Windows PowerShell 3.0 で導入されました。
例
例 1: 既定のトランスポート オプションを生成する
New-PSTransportOption
ProcessIdleTimeoutSec :
MaxIdleTimeoutSec :
MaxSessions :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser :
MaxMemoryPerSessionMB :
MaxProcessesPerSession :
MaxConcurrentUsers :
IdleTimeoutSec :
OutputBufferingMode :
このコマンドは、パラメーターなしで New-PSTransportOption
を実行します。 出力は、コマンドレットが、すべてのプロパティに対して null 値を持つトランスポート オプション オブジェクトを生成することを示しています。
例 2: セッション構成オプションを取得する
この例では、トランスポート オプション オブジェクトを使用してセッション構成オプションを設定する方法を示します。
$t = New-PSTransportOption -MaxSessions 40
Register-PSSessionConfiguration -Name ITTasks -TransportOption $t
Get-PSSessionConfiguration -Name ITTasks | Format-List -Property *
Architecture : 64
Filename : %windir%\system32\pwrshplugin.dll
ResourceUri : http://schemas.microsoft.com/powershell/ITTasks
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess : false
ProcessIdleTimeoutSec : 0
xmlns : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers : 5
lang : en-US
SupportsOptions : true
ExactMatch : true
RunAsUser :
IdleTimeoutms : 7200000
PSVersion : 3.0
OutputBufferingMode : Block
AutoRestart : false
MaxShells : 40
MaxMemoryPerShellMB : 1024
MaxIdleTimeoutMs : 43200000
SDKVersion : 2
Name : ITTasks
XmlRenderingType : text
Capability : {Shell}
RunAsPassword :
MaxProcessesPerShell : 15
Enabled : True
MaxShellsPerUser : 25
Permission :
最初のコマンドは、New-PSTransportOption
コマンドレットを使用してトランスポート オプション オブジェクトを作成し、$t
変数に保存します。 このコマンドでは、MaxSessions パラメーターを使用して、セッションの最大数を 40 に増やします。
2 番目のコマンドでは、Register-PSSessionConfiguration
コマンドレットを使用して ITTasks セッション構成を作成します。 このコマンドでは、TransportOption パラメーターを使用して、$t
変数にトランスポート オプション オブジェクトを指定します。
3 番目のコマンドでは、Get-PSSessionConfiguration
コマンドレットを使用して ITTasks セッション構成を取得し、Format-List
コマンドレットを使用してセッション構成オブジェクトのすべてのプロパティを一覧に表示します。 出力は、セッション構成の MaxShells プロパティの値が 40 であることを示しています。
例 3: トランスポート オプションの設定
このコマンドは、セッション構成でトランスポート・オプションを設定した場合の、セッション構成を使用するセッションに対する影響を示します。
$t = New-PSTransportOption -IdleTimeoutSec 3600
Set-PSSessionConfiguration -Name ITTasks -TransportOption $t
$s = New-PSSession -Name MyITTasks -ConfigurationName ITTasks
$s | Format-List -Property *
State : Opened
IdleTimeout : 3600000
OutputBufferingMode : Block
ComputerName : localhost
ConfigurationName : ITTasks
InstanceId : 4110c3f5-68ea-40fa-9bbf-04a433dbb02d
Id : 1
Name : MyITTasks
Availability : Available
ApplicationPrivateData : {PSVersionTable}
Runspace : System.Management.Automation.RemoteRunspace
最初のコマンドでは、New-PSTransportOption
コマンドレットを使用してトランスポート オプション オブジェクトを作成します。 このコマンドは、IdleTimeoutSec パラメーターを使用して、オブジェクトの IdleTimeoutSec プロパティ値を 1 時間 (3600 秒) に設定します。 このコマンドは、トランスポート オブジェクト オブジェクトを $t
変数に保存します。
2 番目のコマンドでは、Set-PSSessionConfiguration
コマンドレットを使用して、ITTasks セッション構成のトランスポート オプションを変更します。 このコマンドでは、TransportOption パラメーターを使用して、$t
変数にトランスポート オプション オブジェクトを指定します。
3 番目のコマンドでは、New-PSSession
コマンドレットを使用して、ローカル コンピューター上に MyITTasks セッションを作成します。 このコマンドでは、ConfigurationName プロパティを使用して、ITTasks セッション構成を指定します。 このコマンドは、セッションを $s 変数に保存します。このコマンドでは、 の New-PSSession
パラメーターを使用して、セッションのカスタム アイドル タイムアウトを設定しないことに注意してください。 その場合、セッション オプションで設定されたアイドルタイムアウト値は、セッション構成で設定されたアイドルタイムアウトよりも優先されます。
4 番目のコマンドでは、Format-List
コマンドレットを使用して、セッションのすべてのプロパティを一覧の $s
変数に表示します。 出力は、セッションのアイドルタイムアウトが 1 時間 (360,000 ミリ秒) であることを示しています。
パラメーター
-IdleTimeoutSec
リモート コンピューターがローカル コンピューターから通信を受信しない場合に、各セッションが開いたままの期間を決定します。 これにはハートビート信号が含まれます。 間隔が切れると、セッションは終了します。
ユーザーがセッションを切断して再接続する場合、アイドル タイムアウト値は非常に重要です。 ユーザーは、セッションがタイムアウトしていない場合にのみ再接続できます。
IdleTimeoutSec パラメーターは、セッション構成の IdleTimeoutMs プロパティに対応します。
値を秒単位で入力します。 既定値は 7200 (2 時間) です。 最小値は 60 (1 分) です。
最大値は、WSMan 構成 () のシェル オブジェクトの WSMan:\\\<ComputerName\>\Shell\IdleTimeout
プロパティの値です。 既定値は 7200000 ミリ秒 (2 時間) です。
アイドル タイムアウト値がセッション オプションとセッション構成で設定されている場合、セッション オプションで設定された値が優先されますが、セッション構成の MaxIdleTimeoutMs プロパティの値を超えることはできません。 MaxIdleTimeoutMs プロパティの値を設定するには、MaxIdleTimeoutSec パラメーターを使用します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxConcurrentCommandsPerSession
各セッションで同時に実行できるコマンドの数を、指定した値に制限します。 既定値は 1000 です。
MaxConcurrentCommandsPerSession パラメーターは、セッション構成の maxConcurrentCommandsPerShell プロパティ に対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxConcurrentUsers
各セッションで同時にコマンドを実行できるユーザーの数を、指定した値に制限します。 既定値は 5 です。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxIdleTimeoutSec
各セッションのアイドル タイムアウト セットを指定した値に制限します。 既定値は [int]::MaxValue
(最大 25 日) です。
ユーザーがセッションを切断して再接続する場合、アイドル タイムアウト値は非常に重要です。 ユーザーは、セッションがタイムアウトしていない場合にのみ再接続できます。
MaxIdleTimeoutSec パラメーターは、セッション構成の MaxIdleTimeoutMs プロパティに対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxMemoryPerSessionMB
各セッションで使用されるメモリを指定した値に制限します。 メガバイト単位で値を入力します。 既定値は 1024 メガバイト (1 GB) です。
MaxMemoryPerSessionMB パラメーターは、セッション構成の MaxMemoryPerShellMB プロパティに対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxProcessesPerSession
各セッションで実行されているプロセスの数を指定した値に制限します。 既定値は 15 です。
MaxProcessesPerSession パラメーターは、セッション構成の maxProcessesPerShell プロパティ に対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxSessions
セッション構成を使用するセッションの数を制限します。 既定値は 25 です。
MaxSessions パラメーターは、セッション構成の MaxShells プロパティに対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-MaxSessionsPerUser
セッション構成を使用し、特定のユーザーの資格情報を使用して実行するセッションの数を、指定した値に制限します。 既定値は 25 です。
この値を指定する場合は、多くのユーザーが実行の資格情報をユーザーとして使用している可能性があることを考慮してください。
MaxSessionsPerUser パラメーターは、セッション構成の MaxShellsPerUser プロパティに対応します。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-OutputBufferingMode
出力バッファーがいっぱいになったときに、切断されたセッションでコマンド出力を管理する方法を決定します。 このパラメーターに使用できる値は次のとおりです。
-
Block
出力バッファーがいっぱいになると、バッファーがクリアされるまで実行が中断されます。 -
Drop
出力バッファーがいっぱいになると、実行が続行されます。 新しい出力が保存されると、最も古い出力が破棄されます。 -
None
出力バッファリング モードは指定されません。
セッションの OutputBufferingMode プロパティの既定値は Block です。
型: | Nullable<T>[OutputBufferingMode] |
指定可能な値: | None, Drop, Block |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
-ProcessIdleTimeoutSec
各ホスト プロセスのタイムアウトを指定した値に制限します。 既定値の 0 は、プロセスのタイムアウト値がないことを意味します。
他のセッション構成には、プロセスごとのタイムアウト値があります。 たとえば、Microsoft.PowerShell.Workflow セッション構成のプロセスごとのタイムアウト値は 2,8800 秒 (8 時間) です。
型: | Nullable<T>[Int32] |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
メモ
- セッション構成オブジェクトのプロパティは、セッション構成に設定されたオプションとそれらのオプションの値によって異なります。 また、セッション構成ファイルを使用するセッション構成には、追加のプロパティがあります。