次の方法で共有


New-PSTransportOption

セッション構成の詳細オプションを含むオブジェクトを作成します。

構文

Default (既定)

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 コマンドレットなどのセッション構成を作成または変更するコマンドレットの TransportOption パラメーターの値として使用できます。

WSMan: ドライブのセッション構成プロパティの値を編集して、トランスポート オプションの設定を変更することもできます。 詳細については、「WSMan プロバイダー」を参照してください。

セッション構成オプションは、サーバー側またはリモート接続の受信側で設定されたセッション値を表します。 接続のクライアント側では、セッションが作成されたときやクライアントがセッションから切断または再接続する際に、セッションオプションの値を設定できます。 特に明記されていない限り、設定値が競合する場合は、クライアント側の値が優先されます。 ただし、クライアント側の値は、セッション構成で設定された最大値とクォータに違反することはできません。

パラメーターがない場合、 New-PSTransportOption は、すべてのオプションに対して null 値を持つトランスポート オプション オブジェクトを生成します。 パラメーターを省略した場合、オブジェクトには、パラメーターが表すプロパティの null 値があります。 null 値はセッション構成には影響しません。

セッション オプションの詳細については、「New-PSSessionOption」を参照してください。 セッション構成の詳細については、「about_Session_Configurations」を参照してください。

このコマンドレットは、Windows PowerShell 3.0 で導入されました。

例 1: 既定のトランスポート オプションを生成する

PS C:\> New-PSTransportOption
ProcessIdleTimeoutSec           :
MaxIdleTimeoutSec               :
MaxSessions                     :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser              :
MaxMemoryPerSessionMB           :
MaxProcessesPerSession          :
MaxConcurrentUsers              :
IdleTimeoutSec                  :
OutputBufferingMode             :

このコマンドは、パラメーターなしで New-PSTransportOption を実行します。 出力は、コマンドレットが、すべてのプロパティに対して null 値を持つトランスポート オプション オブジェクトを生成することを示しています。

例 2: セッション構成オプションを取得する

The first command uses the **New-PSTransportOption** cmdlet to create a transport options object, which it saves in the $t variable. The command uses the *MaxSessions* parameter to increase the maximum number of sessions to 40.
PS C:\> $t = New-PSTransportOption -MaxSessions 40

The second command uses the **Register-PSSessionConfiguration** cmdlet create the ITTasks session configuration. The command uses the *TransportOption* parameter to specify the transport options object in the $t variable.
PS C:\> Register-PSSessionConfiguration -Name ITTasks -TransportOption $t

The third command uses the Get-PSSessionConfiguration cmdlet to get the ITTasks session configurations and the Format-List cmdlet to display all of the properties of the session configuration object in a list. The output shows that the value of the **MaxShells** property of the session configuration is 40.
PS C:\> Get-PSSessionConfiguration -Name ITTasks | Format-List -Property *
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : https://schemas.microsoft.com/powershell/ITTasks
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : https://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                    :

この例では、トランスポート オプション オブジェクトを使用してセッション構成オプションを設定する方法を示します。

例 3: トランスポート オプションの設定

The first command uses the **New-PSTransportOption** cmdlet to create a transport option object. The command uses the *IdleTimeoutSec* parameter to set the **IdleTimeoutSec** property value of the object to one hour (3600 seconds). The command saves the transport objects object in the $t variable.
PS C:\> $t = New-PSTransportOption -IdleTimeoutSec 3600

The second command uses the Set-PSSessionConfiguration cmdlet to change the transport options of the ITTasks session configuration. The command uses the *TransportOption* parameter to specify the transport options object in the $t variable.
PS C:\> Set-PSSessionConfiguration -Name ITTasks -TransportOption $t

The third command uses the New-PSSession cmdlet to create the MyITTasks session on the local computer. The command uses the **ConfigurationName** property to specify the ITTasks session configuration. The command saves the session in the $s variable.Notice that the command does not use the *SessionOption* parameter of **New-PSSession** to set a custom idle time-out for the session. If it did, the idle time-out value set in the session option would take precedence over the idle time-out set in the session configuration.
PS C:\> $s = New-PSSession -Name MyITTasks -ConfigurationName ITTasks

The fourth command uses the Format-List cmdlet to display all properties of the session in the $s variable in a list. The output shows that the session has an idle time-out of one hour (360,000 milliseconds).
PS C:\> $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

このコマンドは、セッション構成でトランスポート・オプションを設定した場合の、セッション構成を使用するセッションに対する影響を示します。

パラメーター

-IdleTimeoutSec

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

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

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

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxConcurrentCommandsPerSession

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxConcurrentUsers

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxIdleTimeoutSec

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

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxMemoryPerSessionMB

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxProcessesPerSession

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxSessions

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-MaxSessionsPerUser

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

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-OutputBufferingMode

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

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

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

パラメーターのプロパティ

型:OutputBufferingMode
規定値:None
指定可能な値:None, Drop, Block
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-ProcessIdleTimeoutSec

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

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

パラメーターのプロパティ

型:Int32
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

WSManConfigurationOption

メモ

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