New-PSTransportOption

Crea un objeto que contiene las opciones avanzadas de una configuración de sesión.

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

El New-PSTransportOption cmdlet crea un objeto que contiene opciones de transporte para las configuraciones de sesión. Puede usar el objeto como valor del parámetro TransportOption de cmdlets que crean o cambian una configuración de sesión, como los Register-PSSessionConfiguration cmdlets y Set-PSSessionConfiguration .

También puede cambiar la configuración de opciones de transporte mediante la edición de los valores de las propiedades de configuración de sesión en la unidad WSMan:. Para obtener más información, vea Proveedor WSMan.

Las opciones de configuración de sesión representan los valores de sesión establecidos en el servidor o el final de una conexión remota. El lado cliente, o el envío del final de la conexión, pueden establecer valores de opción de sesión cuando se crea la sesión, o cuando el cliente se desconecta de o se vuelve a conectar a la sesión. A menos que se indique lo contrario, cuando los valores de configuración entren en conflicto, los valores del cliente tienen prioridad. Sin embargo, los valores de cliente no pueden infringir las cuotas y los valores máximos establecidos en la configuración de sesión.

Sin parámetros, New-PSTransportOption genera un objeto de opción de transporte que tiene valores NULL para todas las opciones. Si se omite un parámetro, el objeto tiene un valor nulo para la propiedad que representa el parámetro. Un valor NULL no afecta a la configuración de sesión.

Para obtener más información sobre las opciones de sesión, vea New-PSSessionOption. Para más información sobre las configuraciones de sesión, vea about_Session_Configurations.

Este cmdlet se introdujo en Windows PowerShell 3.0.

Ejemplos

Ejemplo 1: Generación de una opción de transporte predeterminada

New-PSTransportOption

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

Este comando ejecuta los New-PSTransportOption parámetros sin . La salida muestra que el cmdlet genera un objeto de opción de transporte que tiene valores NULL para todas las propiedades.

Ejemplo 2: Obtener opciones de configuración de sesión

En este ejemplo se muestra cómo usar un objeto de opciones de transporte para establecer opciones de configuración de sesión.

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

El primer comando usa el New-PSTransportOption cmdlet para crear un objeto de opciones de transporte, que guarda en la $t variable . El comando usa el parámetro MaxSessions para aumentar el número máximo de sesiones a 40.

El segundo comando usa el Register-PSSessionConfiguration cmdlet create the ITTasks session configuration (Creación de la configuración de sesión de ITTasks). El comando usa el parámetro TransportOption para especificar el objeto de opciones de transporte en la $t variable.

El tercer comando usa el Get-PSSessionConfiguration cmdlet para obtener las configuraciones de sesión de ITTasks y el Format-List cmdlet para mostrar todas las propiedades del objeto de configuración de sesión en una lista. La salida muestra que el valor de la propiedad MaxShells de la configuración de sesión es 40.

Ejemplo 3: Establecer una opción de transporte

Este comando muestra el efecto de establecer una opción de transporte en una configuración de sesión en las sesiones que usan la configuración de sesión.

$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

El primer comando usa el New-PSTransportOption cmdlet para crear un objeto de opción de transporte. El comando usa el parámetro IdleTimeoutSec para establecer el valor de la propiedad IdleTimeoutSec del objeto en una hora (3600 segundos). El comando guarda el objeto de objetos de transporte en la $t variable .

El segundo comando usa el Set-PSSessionConfiguration cmdlet para cambiar las opciones de transporte de la configuración de sesión de ITTasks. El comando usa el parámetro TransportOption para especificar el objeto de opciones de transporte en la $t variable.

El tercer comando usa el New-PSSession cmdlet para crear la sesión MyITTasks en el equipo local. El comando usa la propiedad ConfigurationName para especificar la configuración de sesión de ITTasks. El comando guarda la sesión en la variable $s. Observe que el comando no usa el parámetro SessionOption de New-PSSession para establecer un tiempo de espera de inactividad personalizado para la sesión. Si lo hiciera, el valor de tiempo de espera de inactividad establecido en la opción de sesión tendría prioridad sobre el tiempo de espera de inactividad establecido en la configuración de la sesión.

El cuarto comando usa el Format-List cmdlet para mostrar todas las propiedades de la sesión en la $s variable de una lista. La salida muestra que la sesión tiene un tiempo de espera de inactividad de una hora (360 000 milisegundos).

Parámetros

-IdleTimeoutSec

Determina cuánto tiempo permanece abierta cada sesión si el equipo remoto no recibe ninguna comunicación del equipo local. Esto incluye la señal de latido. Cuando expira el intervalo, se cierra la sesión.

El valor de tiempo de espera de inactividad es de importancia importante cuando el usuario pretende desconectar y volver a conectarse a una sesión. El usuario puede volver a conectar solo si no se ha agotado el tiempo de espera de la sesión.

El parámetro IdleTimeoutSec corresponde a la propiedad IdleTimeoutMs de una configuración de sesión.

Especifique un valor en segundos. El valor predeterminado es 7200 (2 horas). El valor mínimo es 60 (1 minuto). El máximo es el valor de la propiedad IdleTimeout de los objetos Shell en la configuración de WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). El valor predeterminado es 7200000 segundos (2 horas).

Si se establece un valor de tiempo de espera de inactividad en las opciones de sesión y en la configuración de la sesión, el valor establecido en las opciones de sesión tiene prioridad, pero no puede superar el valor de la propiedad MaxIdleTimeoutMs de la configuración de sesión. Para establecer el valor de la propiedad MaxIdleTimeoutMs , use el parámetro MaxIdleTimeoutSec .

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

-MaxConcurrentCommandsPerSession

Limita el número de comandos que se pueden ejecutar al mismo tiempo en cada sesión al valor especificado. El valor predeterminado es 1000.

El parámetro MaxConcurrentCommandsPerSession corresponde a la propiedad MaxConcurrentCommandsPerShell de una configuración de sesión.

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

-MaxConcurrentUsers

Limita el número de usuarios que pueden ejecutar comandos al mismo tiempo en cada sesión al valor especificado. El valor predeterminado es 5.

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

-MaxIdleTimeoutSec

Limita el tiempo de espera de inactividad establecido para cada sesión al valor especificado. El valor predeterminado es [Int]::MaxValue (~25 días).

El valor de tiempo de espera de inactividad es de importancia importante cuando el usuario pretende desconectar y volver a conectarse a una sesión. El usuario puede volver a conectar solo si no se ha agotado el tiempo de espera de la sesión.

El parámetro MaxIdleTimeoutSec corresponde a la propiedad MaxIdleTimeoutMs de una configuración de sesión.

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

-MaxMemoryPerSessionMB

Limita la memoria usada por cada sesión en el valor especificado. Escriba un valor en megabytes. El valor predeterminado es 1024 megabytes (1 GB).

El parámetro MaxMemoryPerSessionMB corresponde a la propiedad MaxMemoryPerShellMB de una configuración de sesión.

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

-MaxProcessesPerSession

Limita el número de procesos que se ejecutan en cada sesión en el valor especificado. El valor predeterminado es 15.

El parámetro MaxProcessesPerSession corresponde a la propiedad MaxProcessesPerShell de una configuración de sesión.

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

-MaxSessions

Limita el número de sesiones que usan la configuración de sesión. El valor predeterminado es 25.

El parámetro MaxSessions corresponde a la propiedad MaxShells de una configuración de sesión.

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

-MaxSessionsPerUser

Limita el número de sesiones que usan la configuración de sesión y se ejecutan con las credenciales de un usuario determinado en el valor especificado. El valor predeterminado es 25.

Al especificar este valor, tenga en cuenta que muchos usuarios podrían usar las credenciales de una ejecución como usuario.

El parámetro MaxSessionsPerUser corresponde a la propiedad MaxShellsPerUser de una configuración de sesión.

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

-OutputBufferingMode

Determina cómo se administra el resultado del comando en las sesiones desconectadas cuando el búfer de salida se llena. Los valores permitidos para este parámetro son los siguientes:

  • Block Cuando el búfer de salida está lleno, la ejecución se suspende hasta que se borra el búfer.
  • Drop Cuando el búfer de salida está lleno, la ejecución continúa. Conforme se guarda el nuevo resultado, se descarta el resultado más antiguo.
  • None No se especifica ningún modo de almacenamiento en búfer de salida.

El valor predeterminado de la propiedad OutputBufferingMode de las sesiones 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 el tiempo de espera de cada proceso host al valor especificado. El valor predeterminado, 0, significa que no hay ningún valor de tiempo de espera para el proceso.

Otras configuraciones de sesión tienen valores de tiempo de espera por proceso. Por ejemplo, la configuración de la sesión Microsoft.PowerShell.Workflow tiene un valor de tiempo de espera por proceso 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

No se pueden canalizar objetos a este cmdlet.

Salidas

WSManConfigurationOption

Notas

  • Las propiedades de un objeto de configuración de sesión varían según las opciones establecidas para la configuración de sesión y los valores de esas opciones. Además, las configuraciones de sesión que utilizan un archivo de configuración de sesión tienen propiedades adicionales.