Share via


New-PSTransportOption

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

Syntax

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 New-PSTransportOption cmdlet 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 parâmetro TransportOption de cmdlets que criam ou alteram uma configuração de sessão, como cmdlets Register-PSSessionConfiguration e Set-PSSessionConfiguration .

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

As opções de configuração de sessão representam os valores de sessão definidos no lado do servidor ou na extremidade 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 há conflito de valores na configuração, prevalecem os valores do lado do cliente. No entanto, os valores do lado do cliente não podem violar valores máximos e as 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 um parâmetro for omitido, o objeto tem um valor nulo para a propriedade que representa o parâmetro. 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 saber mais sobre configurações de sessão, confira about_Session_Configurations.

Este cmdlet foi introduzido no Windows PowerShell 3.0.

Exemplos

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

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 que tem valores nulos para todas as propriedades.

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

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

$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                    :

O primeiro comando usa o New-PSTransportOption cmdlet para criar um objeto de opções de transporte, que ele salva na $t variável. O comando usa o parâmetro MaxSessions para aumentar o número máximo de sessões para 40.

O segundo comando usa o Register-PSSessionConfiguration cmdlet create the ITTasks session configuration. O comando usa o parâmetro TransportOption para especificar o objeto de opções de transporte na $t variável.

O terceiro comando usa o Get-PSSessionConfiguration cmdlet para obter as configurações de sessão ITTasks e o Format-List cmdlet para exibir todas as propriedades do objeto de configuração de sessão em uma lista. A saída mostra que o valor da propriedade MaxShells da configuração da sessão é 40.

Exemplo 3: Definindo uma opção de transporte

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

$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

O primeiro comando usa o New-PSTransportOption cmdlet para criar um objeto de opção de transporte. O comando usa o parâmetro IdleTimeoutSec para definir o valor da propriedade IdleTimeoutSec do objeto como uma hora (3600 segundos). O comando salva o objeto de objetos de transporte na $t variável.

O segundo comando usa o Set-PSSessionConfiguration cmdlet para alterar as opções de transporte da configuração da sessão ITTasks. O comando usa o parâmetro TransportOption para especificar o objeto de opções de transporte na $t variável.

O terceiro comando usa o New-PSSession cmdlet para criar a sessão MyITTasks no computador local. O comando usa a propriedade ConfigurationName para especificar a configuração da sessão ITTasks. O comando salva a sessão na variável $s. Observe que o comando não usa o parâmetro SessionOption de para definir um tempo limite ocioso New-PSSession personalizado para a sessão. Se isso acontecesse, o valor de tempo limite ocioso definido na opção de sessão teria precedência sobre o tempo limite ocioso definido na configuração da sessão.

O quarto comando usa o Format-List cmdlet para exibir todas as propriedades da sessão na $s variável em uma lista. A saída mostra que a sessão tem um tempo limite ocioso de uma hora (360.000 milissegundos).

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. Isso 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 poderá 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 dos objetos Shell na configuração do 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 .

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 poderá 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.

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

-MaxMemoryPerSessionMB

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

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

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

-MaxProcessesPerSession

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

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

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

-MaxSessions

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

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

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

-MaxSessionsPerUser

Limita o número de sessões que usam a configuração de sessão e são executadas com as credenciais de um determinado usuário para o 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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 esse parâmetro são:

  • Block Quando o buffer de saída está cheio, a execução é suspensa até que o buffer esteja limpo.
  • Drop Quando o buffer de saída está cheio, a execução continua. Conforme uma nova saída é salva, a saída mais antiga é descartada.
  • None Nenhum modo de buffer de saída é especificado.

O valor padrão da propriedade OutputBufferingMode das sessões é 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

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).

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

Entradas

None

Não é possível canalizar objetos para esse cmdlet.

Saídas

WSManConfigurationOption

Observações

  • As propriedades de um objeto de configuração de sessão variam de acordo 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.