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 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 os Register-PSSessionConfiguration cmdlets andSet-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

New-PSTransportOption

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

Este comando executa os New-PSTransportOption parâmetros sem. 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

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: Definir uma opção de transporte

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.

$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 para 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 de New-PSSession ociosidade 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 de ociosidade 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. 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 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 .

Tipo:Nullable<T>[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 predefinido é 1000.

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

Tipo:Nullable<T>[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:Nullable<T>[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:Nullable<T>[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:Nullable<T>[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:Nullable<T>[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 predefinido é 25.

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

Tipo:Nullable<T>[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 predefinido é 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:Nullable<T>[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:

  • 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 estiver cheio, a execução continuará. À medida que a 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.

Tipo:Nullable<T>[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:Nullable<T>[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 objetos 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.