Поделиться через


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-PSSessionConfiguration и Set-PSSessionConfiguration.

Кроме того, параметры транспорта можно менять, корректируя значения свойств конфигурации сеанса на диске WSMan:. Дополнительные сведения см. в разделе Поставщик WSMan.

Параметры конфигурации сеанса представляют значения сеанса, заданные на стороне сервера или принимающем конце удаленного подключения. Клиентская или отправляющий конец подключения может задавать значения параметров сеанса при создании сеанса или при отключении клиента от сеанса или повторном подключении к сеансу. Если не указано иное, то в случае конфликта между значениями параметров превалируют значения на стороне клиента. При этом значения на стороне клиента не могут превышать максимальные значения и квоты, установленные в конфигурации сеанса.

Без параметров New-PSTransportOption создает объект параметра транспорта со значениями 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                   : 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                    :

Первая команда создает объект параметров транспорта с помощью командлета New-PSTransportOption и сохраняет этот объект в переменную $t. В команде используется параметр MaxSessions, увеличивающий максимальное количество сеансов до 40.

Вторая команда создает конфигурацию сеанса ITTasks с помощью командлета Register-PSSessionConfiguration. В команде используется параметр TransportOption, позволяющий указать объект параметров транспорта из переменной $t.

Третья команда использует командлет 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 для объекта, равное одному часу (3600 секунд). Объект параметров транспорта сохраняется в переменную $t.

Вторая команда использует командлет Set-PSSessionConfiguration для изменения параметров транспорта конфигурации сеанса ITTasks. В команде используется параметр TransportOption, позволяющий указать объект параметров транспорта из переменной $t.

Третья команда использует командлет New-PSSession для создания сеанса MyITTasks на локальном компьютере. Для указания конфигурации ITTasks в команде используется свойство ConfigurationName. Команда сохраняет сеанс в переменной $s. Обратите внимание, что команда не использует параметр SessionOptionобъекта New-PSSession для установки настраиваемого времени ожидания простоя для сеанса. В этом случае значение времени ожидания простоя, заданное в параметре сеанса, будет иметь приоритет над тайм-аутом простоя, заданным в конфигурации сеанса.

Четвертая команда использует командлет Format-List для отображения всех свойств сеанса в переменной $s в списке. В выходных данных показано, что время ожидания сеанса истекло в один час (360 000 миллисекундах).

Параметры

-IdleTimeoutSec

Определяет, как долго каждый сеанс остается открытым, если удаленный компьютер не получает никаких сообщений с локального компьютера. Сюда входит сигнал пульса. По истечении этого времени сеанс закрывается.

Значение времени ожидания простоя имеет важное значение, когда пользователь намерен отключиться и повторно подключиться к сеансу. Пользователь может подключаться к сеансу только в том случае, если время ожидания не истекло.

Параметр IdleTimeoutSec соответствует свойству IdleTimeoutMs в конфигурации сеанса.

Введите значение в секундах. Значение по умолчанию составляет 7200 секунд (2 часа). Минимальное значение — 60 секунд (1 минута). Максимальное значение — это значение свойства IdleTimeout объектов Оболочки в конфигурации WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). Значение по умолчанию составляет 7200000 миллисекунд (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

Ограничивает максимальный объем памяти, который может использоваться каждым сеансом. Введите значение в мегабайтах. Значение по умолчанию — 1024 МБ (1 ГБ).

Параметр MaxMemoryPerSessionMB соответствует свойству MaxMemoryPerShellMB конфигурации сеанса.

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

Определяет порядок управления выходным потоком команды в отключенных сеансах при заполнении . Допустимые значения для этого параметра:

  • Блокировка. при заполнении выходного буфера выполнение команды приостанавливается до тех пор, пока буфер не будет очищен.
  • Drop. при заполнении выходного буфера выполнение команды продолжается. Новые выходные данные сохраняются вместо наиболее старых.
  • Нет. порядок действий в случае переполнения выходного буфера не установлен.

Значение по умолчанию свойства 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

Примечания

  • Свойства объекта конфигурации сеанса зависят от заданных для конфигурации сеанса параметров и значений этих параметров. Кроме того, конфигурации сеансов, определяющие с помощью файла конфигурации, включают дополнительные свойства.