Partilhar via


New-PSTransportOption

Cria um objeto que contém opções avançadas para uma configuração de sessão.

Sintaxe

New-PSTransportOption
   [-MaxIdleTimeoutSec <Int32>]
   [-ProcessIdleTimeoutSec <Int32>]
   [-MaxSessions <Int32>]
   [-MaxConcurrentCommandsPerSession <Int32>]
   [-MaxSessionsPerUser <Int32>]
   [-MaxMemoryPerSessionMB <Int32>]
   [-MaxProcessesPerSession <Int32>]
   [-MaxConcurrentUsers <Int32>]
   [-IdleTimeoutSec <Int32>]
   [-OutputBufferingMode <OutputBufferingMode>]
   [<CommonParameters>]

Description

O cmdlet New-PSTransportOption cria um objeto que contém opções de transporte para configurações de sessão. Você pode usar o objeto como o valor do TransportOption parâmetro de cmdlets que criam ou alteram uma configuração de sessão, como os cmdlets Register-PSSessionConfiguration e Set-PSSessionConfiguration.

Você também pode alterar as configurações da opção de transporte editando os valores das propriedades de configuração da sessão na unidade WSMan:. Para obter mais informações, consulte WSMan Provider.

As opções de configuração de sessão representam os valores de sessão definidos no lado do servidor ou no final de recebimento de uma conexão remota. O lado do cliente, ou o fim de envio da conexão, pode definir valores de opção de sessão quando a sessão é criada ou quando o cliente se desconecta ou se reconecta à sessão. Salvo indicação em contrário, quando os valores de configuração entram em conflito, os valores do lado do cliente têm precedência. No entanto, os valores do lado do cliente não podem violar valores máximos e cotas definidas na configuração da sessão.

Sem parâmetros, New-PSTransportOption gera um objeto de opção de transporte que tem valores nulos para todas as opções. Se você omitir um parâmetro, o objeto terá um valor nulo para a propriedade que o parâmetro representa. Um valor nulo não afeta a configuração da sessão.

Para obter mais informações sobre opções de sessão, consulte New-PSSessionOption. Para obter mais informações sobre configurações de sessão, consulte about_Session_Configurations.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

Exemplo 1: Gerar uma opção de transporte padrão

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

Este comando executa o New-PSTransportOption sem parâmetros. A saída mostra que o cmdlet gera um objeto de opção de transporte com valores nulos para todas as propriedades.

Exemplo 2: Obter opções de configuração de sessão

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                    :

Este exemplo mostra como usar um objeto de opções de transporte para definir opções de configuração de sessão.

Exemplo 3: Definir uma opção de transporte

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

Este comando mostra o efeito da definição de uma opção de transporte em uma configuração de sessão nas sessões que usam a configuração de sessão.

Parâmetros

-IdleTimeoutSec

Determina por quanto tempo cada sessão permanece aberta se o computador remoto não receber nenhuma comunicação do computador local. Isto inclui o sinal de batimento cardíaco. Quando o intervalo expira, a sessão é fechada.

O valor de tempo limite ocioso é de importância significativa quando o usuário pretende se desconectar e se reconectar a uma sessão. O usuário pode se reconectar somente se a sessão não tiver expirado.

O parâmetro IdleTimeoutSec corresponde à propriedade IdleTimeoutMs de uma configuração de sessão.

Insira um valor em segundos. O valor padrão é 7200 (2 horas). O valor mínimo é 60 (1 minuto). O máximo é o valor da propriedade IdleTimeout de objetos Shell na configuração WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). O valor padrão é 7200000 milissegundos (2 horas).

Se um valor de tempo limite ocioso for definido nas opções de sessão e na configuração da sessão, o valor definido nas opções de sessão terá precedência, mas não poderá exceder o valor da propriedade MaxIdleTimeoutMs da configuração da sessão. Para definir o valor da propriedade MaxIdleTimeoutMs, use o parâmetro MaxIdleTimeoutSec.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxConcurrentCommandsPerSession

Limita o número de comandos que podem ser executados ao mesmo tempo em cada sessão ao valor especificado. O valor padrão é 1000.

O parâmetro MaxConcurrentCommandsPerSession corresponde à propriedade MaxConcurrentCommandsPerShell de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxConcurrentUsers

Limita o número de usuários que podem executar comandos ao mesmo tempo em cada sessão ao valor especificado. O valor padrão é 5.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxIdleTimeoutSec

Limita o tempo limite ocioso definido para cada sessão ao valor especificado. O valor padrão é [Int]::MaxValue (~25 dias).

O valor de tempo limite ocioso é de importância significativa quando o usuário pretende se desconectar e se reconectar a uma sessão. O usuário pode se reconectar somente se a sessão não tiver expirado.

O parâmetro MaxIdleTimeoutSec corresponde à propriedade MaxIdleTimeoutMs de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxMemoryPerSessionMB

Limita a memória usada por cada sessão ao valor especificado. Insira um valor em megabytes. O valor padrão é 1024 megabytes (1 GB).

O parâmetro MaxMemoryPerSessionMB corresponde à propriedade MaxMemoryPerShellMB de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxProcessesPerSession

Limita o número de processos em execução em cada sessão ao valor especificado. O valor padrão é 15.

O parâmetro MaxProcessesPerSession corresponde à propriedade MaxProcessesPerShell de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxSessions

Limita o número de sessões que usam a configuração da sessão. O valor padrão é 25.

O parâmetro MaxSessions corresponde à propriedade MaxShells de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-MaxSessionsPerUser

Limita o número de sessões que usam a configuração da sessão e são executadas com as credenciais de um determinado usuário ao valor especificado. O valor padrão é 25.

Ao especificar esse valor, considere que muitos usuários podem estar usando as credenciais de uma execução como usuário.

O parâmetro MaxSessionsPerUser corresponde à propriedade MaxShellsPerUser de uma configuração de sessão.

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-OutputBufferingMode

Determina como a saída do comando é gerenciada em sessões desconectadas quando o buffer de saída fica cheio. Os valores aceitáveis para este parâmetro são:

  • Bloquear. Quando o buffer de saída está cheio, a execução é suspensa até que o buffer esteja limpo.
  • Caia. Quando o buffer de saída estiver cheio, a execução continuará. À medida que a nova saída é salva, a saída mais antiga é descartada.
  • Nenhuma. Nenhum modo de buffer de saída é especificado.

O valor padrão da propriedade OutputBufferingMode das sessões é Block.

Tipo:OutputBufferingMode
Valores aceites:None, Drop, Block
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-ProcessIdleTimeoutSec

Limita o tempo limite de cada processo de host ao valor especificado. O valor padrão, 0, significa que não há nenhum valor de tempo limite para o processo.

Outras configurações de sessão têm valores de tempo limite por processo. Por exemplo, a configuração de sessão Microsoft.PowerShell.Workflow tem um valor de tempo limite por processo de 28800 segundos (8 horas).

Tipo:Int32
Position:Named
Default value:None
Necessário:False
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

Entradas

None

Não é possível canalizar a entrada para este cmdlet.

Saídas

WSManConfigurationOption

Notas

  • As propriedades de um objeto de configuração de sessão variam com as opções definidas para a configuração da sessão e os valores dessas opções. Além disso, as configurações de sessão que usam um arquivo de configuração de sessão têm propriedades adicionais.