当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 新 PSTransportOption (Microsoft.PowerShell.Core)

作者:精品下载站 日期:2024-12-14 02:15:01 浏览:16 分类:玩电脑

新 PSTransportOption (Microsoft.PowerShell.Core)


新-PSTransportOption

模块 :Microsoft.PowerShell.Core

创建一个包含会话配置高级选项的对象。

句法

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 cmdlet 创建一个包含会话配置传输选项的对象。您可以将该对象用作创建或更改会话配置的 cmdlet 的 TransportOption 参数的值,例如 Register-PSSessionConfigurationSet-PSSessionConfiguration cmdlet。

您还可以通过编辑 WSMan: 驱动器中的会话配置属性的值来更改传输选项设置。有关详细信息,请参阅 WSMan 提供程序。

会话配置选项表示在服务器端或远程连接的接收端设置的会话值。客户端(或连接的发送端)可以在创建会话时,或者在客户端断开连接或重新连接到会话时设置会话选项值。除非另有说明,当设置值发生冲突时,以客户端的值为准。但是,客户端值不能违反会话配置中设置的最大值和配额。

如果没有参数,New-PSTransportOption 会生成一个传输选项对象,该对象的所有选项都为空值。如果省略参数,则该对象的参数表示的属性具有空值。空值不会影响会话配置。

有关会话选项的更多信息,请参阅New-PSSessionOption。有关会话配置的更多信息,请参阅 about_Session_Configurations。

此 cmdlet 是在 Windows PowerShell 3.0 中引入的。

示例

示例 1:生成默认传输选项

New-PSTransportOption

ProcessIdleTimeoutSec           :
MaxIdleTimeoutSec               :
MaxSessions                     :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser              :
MaxMemoryPerSessionMB           :
MaxProcessesPerSession          :
MaxConcurrentUsers              :
IdleTimeoutSec                  :
OutputBufferingMode             :

此命令运行不带参数的New-PSTransportOption。输出显示 cmdlet 生成一个传输选项对象,该对象的所有属性都为空值。

示例 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 cmdlet 创建传输选项对象,并将其保存在 $t 变量中。该命令使用 MaxSessions 参数将最大会话数增加到 40。

第二条命令使用 Register-PSSessionConfiguration cmdlet 创建 ITTasks 会话配置。该命令使用 TransportOption 参数在 $t 变量中指定传输选项对象。

第三条命令使用 Get-PSSessionConfiguration cmdlet 获取 ITTasks 会话配置,并使用 Format-List cmdlet 在列表中显示会话配置对象的所有属性。输出显示会话配置的 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 cmdlet 创建传输选项对象。该命令使用 IdleTimeoutSec 参数将对象的 IdleTimeoutSec 属性值设置为一小时(3600 秒)。该命令将传输对象保存在 $t 变量中。

第二个命令使用 Set-PSSessionConfiguration cmdlet 更改 ITTasks 会话配置的传输选项。该命令使用 TransportOption 参数在 $t 变量中指定传输选项对象。

第三条命令使用 New-PSSession cmdlet 在本地计算机上创建 MyITTasks 会话。该命令使用 ConfigurationName 属性来指定 ITTasks 会话配置。该命令将会话保存在 $s 变量中。请注意,该命令不使用 New-PSSessionSessionOption 参数来设置会话的自定义空闲超时。如果是这样,会话选项中设置的空闲超时值将优先于会话配置中设置的空闲超时值。

第四个命令使用 Format-List cmdlet 以列表的形式显示 $s 变量中会话的所有属性。输出显示会话的空闲超时为一小时(360,000 毫秒)。

参数

-IdleTimeoutSec

确定如果远程计算机未收到来自本地计算机的任何通信,每个会话保持打开状态的时间。这包括心跳信号。当间隔到期时,会话将关闭。

当用户打算断开并重新连接到会话时,空闲超时值非常重要。仅当会话未超时时,用户才能重新连接。

IdleTimeoutSec 参数对应于会话配置的 IdleTimeoutMs 属性。

输入一个以秒为单位的值。默认值为 7200(2 小时)。最小值为 60(1 分钟)。最大值是 WSMan 配置中 Shell 对象的 IdleTimeout 属性值 (WSMan:"\Shell\IdleTimeout)。默认值为 7200000 毫秒(2 小时)。

如果在会话选项和会话配置中设置了空闲超时值,则会话选项中设置的值优先,但不能超过会话配置的 MaxIdleTimeoutMs 属性的值。要设置 MaxIdleTimeoutMs 属性的值,请使用 MaxIdleTimeoutSec 参数。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxConcurrentCommandsPerSession

将每个会话中可以同时运行的命令数量限制为指定值。默认值为 1000。

MaxConcurrentCommandsPerSession 参数对应于会话配置的 MaxConcurrentCommandsPerShell 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxConcurrentUsers

将每个会话中可以同时运行命令的用户数量限制为指定值。默认值为 5。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxIdleTimeoutSec

将每个会话的空闲超时设置限制为指定值。默认值为 [Int]::MaxValue(约 25 天)。

当用户打算断开并重新连接到会话时,空闲超时值非常重要。仅当会话未超时时,用户才能重新连接。

MaxIdleTimeoutSec 参数对应于会话配置的 MaxIdleTimeoutMs 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxMemoryPerSessionMB

将每个会话使用的内存限制为指定值。输入一个以兆字节为单位的值。默认值为 1024 兆字节 (1 GB)。

MaxMemoryPerSessionMB 参数对应于会话配置的 MaxMemoryPerShellMB 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxProcessesPerSession

将每个会话中运行的进程数限制为指定值。默认值为 15。

MaxProcessesPerSession 参数对应于会话配置的MaxProcessesPerShell 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxSessions

限制使用会话配置的会话数量。默认值为 25。

MaxSessions 参数对应于会话配置的 MaxShells 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-MaxSessionsPerUser

将使用会话配置并使用给定用户的凭据运行的会话数量限制为指定值。默认值为 25。

当您指定此值时,请考虑许多用户可能正在使用以用户身份运行的凭据。

MaxSessionsPerUser 参数对应于会话配置的 MaxShellsPerUser 属性。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-OutputBufferingMode

确定当输出缓冲区已满时如何在断开连接的会话中管理命令输出。该参数可接受的值为:

  • Block 当输出缓冲区已满时,执行将暂停,直到缓冲区被清除。
  • Drop 当输出缓冲区已满时,继续执行。保存新输出时,最旧的输出将被丢弃。
  • None 未指定输出缓冲模式。

会话的OutputBufferingMode属性的默认值为Block。

类型 :

可空[OutputBufferingMode]

接受的值:

无、丢弃、阻止

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

-ProcessIdleTimeoutSec

将每个主机进程的超时限制为指定值。默认值 0 表示进程没有超时值。

其他会话配置具有每个进程的超时值。例如,Microsoft.PowerShell.Workflow 会话配置的每个进程超时值为 28800 秒(8 小时)。

类型 :

可空[Int32]

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

True

接受通配符:

False

输入

您无法将对象通过管道传输到此 cmdlet。

输出

WSManConfigurationOption

笔记

  • 会话配置对象的属性随会话配置的选项设置以及这些选项的值而变化。此外,使用会话配置文件的会话配置还具有其他属性。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯