New-PSTransportOption
Crea un objeto que contiene opciones avanzadas para una configuración de sesión.
Sintaxis
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 cmdlet New-PSTransportOption
crea un objeto que contiene opciones de transporte para las configuraciones de sesión. Puede usar el objeto como el valor del parámetro TransportOption de los cmdlets que crean o modifican una configuración de sesión, como los cmdlets Register-PSSessionConfiguration
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 el proveedor WSMan.
Las opciones de configuración de sesión representan los valores de sesión establecidos en el servidor o el extremo receptor de una conexión remota. El lado cliente, o extremo de envío de la conexión, puede establecer opciones de la sesión cuando se crea la sesión, o cuando el cliente se desconecta de la sesión o se vuelve a conectar a ella. A menos que se indique lo contrario, cuando los valores de configuración entren en conflicto, los valores del lado cliente tienen prioridad. Sin embargo, los valores del lado cliente no pueden infringir los valores máximos y cuotas 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 omite un parámetro, el objeto tiene un valor NULL 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, consulte New-PSSessionOption
. Para obtener más información sobre las configuraciones de sesión, consulte 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 el New-PSTransportOption
sin parámetros. 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 cmdlet New-PSTransportOption
para crear un objeto de opciones de transporte, que guarda en la variable $t
. El comando usa el parámetro MaxSessions para aumentar el número máximo de sesiones a 40.
El segundo comando usa el cmdlet Register-PSSessionConfiguration
para crear 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 variable $t
.
El tercer comando usa el cmdlet Get-PSSessionConfiguration
para obtener las configuraciones de sesión de ITTasks y el cmdlet Format-List
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 en la configuración de la 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 cmdlet New-PSTransportOption
para crear un objeto de opción de transporte. El comando usa el parámetro IdleTimeoutSec para establecer el valor de propiedad IdleTimeoutSec del objeto en una hora (3600 segundos). El comando guarda el objeto de objetos de transporte en la variable $t
.
El segundo comando usa el cmdlet Set-PSSessionConfiguration
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 variable $t
.
El tercer comando usa el cmdlet New-PSSession
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. Tenga en cuenta 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 cmdlet Format-List
para mostrar todas las propiedades de la sesión en la variable $s
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 expire 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 solo puede volver a conectarse si la sesión no ha agotado el tiempo de espera.
El parámetro IdleTimeoutSec corresponde a la propiedad IdleTimeoutMs de una configuración de sesión.
Escriba 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 milisegundos (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 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 solo puede volver a conectarse si la sesión no ha agotado el tiempo de espera.
El parámetro MaxIdleTimeoutSec corresponde a la propiedad MaxIdleTimeoutMs de una configuración de sesión.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-MaxMemoryPerSessionMB
Limita la memoria usada por cada sesión al 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-MaxProcessesPerSession
Limita el número de procesos que se ejecutan en cada sesión al valor especificado. El valor predeterminado es 15.
El parámetro MaxProcessesPerSession corresponde a la propiedad MaxProcessesPerShell de una configuración de sesión.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 al 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.
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
-OutputBufferingMode
Determina cómo se administra la salida del comando en sesiones desconectadas cuando el búfer de salida se llena. Los valores aceptables para este parámetro son:
-
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. A medida que se guarda la nueva salida, se descarta la salida más antigua. -
None
No se ha especificado ningún modo de almacenamiento en búfer de salida.
El valor predeterminado de la propiedad OutputBufferingMode de las sesiones es Block.
Tipo: | Nullable<T>[OutputBufferingMode] |
Valores aceptados: | None, Drop, Block |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | 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 para cada proceso. Por ejemplo, la configuración de sesión de Microsoft.PowerShell.Workflow tiene un valor de tiempo de espera para cada proceso de 28800 segundos (8 horas).
Tipo: | Nullable<T>[Int32] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
Notas
- Las propiedades de un objeto de configuración de sesión varían con las opciones establecidas para la configuración de sesión y los valores de esas opciones. Además, las configuraciones de sesión que usan un archivo de configuración de sesión tienen propiedades adicionales.