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 、セッション構成のトランスポート オプションを含むオブジェクトを作成します。 オブジェクトは、セッション構成 (コマンドレットなど) を作成または変更するコマンドレットの TransportOption パラメーターのRegister-PSSessionConfigurationSet-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 変数に保存します。このコマンドでは、セッションのカスタム アイドル タイムアウトを 設定するために SessionOption パラメーター New-PSSession が使用されないことに注意してください。 その場合、セッション オプションで設定されたアイドルタイムアウト値は、セッション構成で設定されたアイドルタイムアウトよりも優先されます。

4 番目のコマンドでは、コマンドレットを Format-List 使用して、セッションのすべてのプロパティを一覧の $s 変数に表示します。 出力は、セッションのアイドルタイムアウトが 1 時間 (360,000 ミリ秒) であることを示しています。

パラメーター

-IdleTimeoutSec

リモート コンピューターがローカル コンピューターから通信を受信しない場合に、各セッションが開いたままの期間を決定します。 これにはハートビート信号が含まれます。 この期間が経過すると、セッションは閉じられます。

ユーザーがセッションを切断して再接続する場合、アイドル タイムアウト値は非常に重要です。 ユーザーは、セッションがまだタイムアウトしていない場合のみ再接続できます。

IdleTimeoutSec パラメーターは、セッション構成の IdleTimeoutMs プロパティに対応します。

値を秒単位で入力します。 既定値は 7,200 (2 時間) です。 最小値は 60 (1 分) です。 最大値は、WSMan 構成 (WSMan:\\\<ComputerName\>\Shell\IdleTimeout) のシェル オブジェクトの IdleTimeout プロパティの値です。 既定値は 7,200,000 ミリ秒 (2 時間) です。

セッション オプションとセッション構成でアイドル タイムアウト値が設定されている場合、セッション オプションで設定された値が優先されますが、セッション構成の MaxIdleTimeoutMs プロパティの値を超えることはできません。 MaxIdleTimeoutMs プロパティの値を設定するには、MaxIdleTimeoutSec パラメーターを使用します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxConcurrentCommandsPerSession

各セッションで同時に実行できるコマンドの数を、指定した値に制限します。 既定値は 1000 です。

MaxConcurrentCommandsPerSession パラメーターは、セッション構成の MaxConcurrentCommandsPerShell プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxConcurrentUsers

各セッションで同時にコマンドを実行できるユーザーの数を、指定した値に制限します。 既定値は 5 です。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxIdleTimeoutSec

各セッションのアイドル タイムアウト セットを指定した値に制限します。 既定値は [Int]::MaxValue (最大 25 日) です。

ユーザーがセッションを切断して再接続する場合、アイドル タイムアウト値は非常に重要です。 ユーザーは、セッションがまだタイムアウトしていない場合のみ再接続できます。

MaxIdleTimeoutSec パラメーターは、セッション構成の MaxIdleTimeoutMs プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxMemoryPerSessionMB

各セッションで使用されるメモリを、指定された値に制限します。 値はメガバイトで入力します。 既定値は 1,024 メガバイト (1 GB) です。

MaxMemoryPerSession MB (メガバイト) パラメーターはセッション構成の MaxMemoryPerShell MB (メガバイト) プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxProcessesPerSession

各セッションで実行するプロセスの数を、指定された値に制限します。 既定値は 15です。

MaxProcessesPerSession パラメーターは、セッション構成の MaxProcessesPerShell プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxSessions

セッション構成を使用するセッションの数を制限します。 既定値は 25 です。

MaxSessions パラメーターは、セッション構成の MaxShells プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxSessionsPerUser

セッション構成を使用して特定のユーザーの資格情報で実行するセッションの数を、指定された値に制限します。 既定値は 25 です。

この値を指定する場合は、多くのユーザーが実行の資格情報をユーザーとして使用している可能性があることを考慮してください。

MaxSessionsPerUser パラメーターは、セッション構成の MaxShellsPerUser プロパティに対応します。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OutputBufferingMode

出力バッファーがいっぱいになったときに切断されたセッションでコマンドの出力を管理する方法を指定します。 このパラメーターの有効値は、次のとおりです。

  • Block 出力バッファーがいっぱいになると、バッファーがクリアされるまで実行が中断されます。
  • Drop 出力バッファーがいっぱいになると、実行が続行されます。 新しい出力が保存されると、最も古い出力が破棄されます。
  • None 出力バッファリング モードは指定されません。

セッションの OutputBufferingMode プロパティの既定値は Block です。

Type:Nullable<T>[OutputBufferingMode]
Accepted values:None, Drop, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-ProcessIdleTimeoutSec

各ホスト プロセスのタイムアウトを指定した値に制限します。 既定値の 0 は、プロセスのタイムアウト値がないことを意味します。

他のセッション構成には、プロセスごとのタイムアウト値があります。 たとえば、 Microsoft.PowerShell.Workflow セッション構成のプロセスごとのタイムアウト値は 28800 秒 (8 時間) です。

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

入力

None

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

出力

WSManConfigurationOption

メモ

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