Partager via


New-PSTransportOption

Crée un objet qui contient des options avancées pour une configuration de session.

Syntaxe

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

Description

La cmdlet New-PSTransportOption crée un objet qui contient des options de transport pour les configurations de session. Vous pouvez utiliser l’objet comme valeur du paramètre TransportOption des applets de commande qui créent ou modifient une configuration de session, telle que les applets de commande Register-PSSessionConfiguration et Set-PSSessionConfiguration.

Vous pouvez également modifier les paramètres d’option de transport en modifiant les valeurs des propriétés de configuration de session dans le lecteur WSMan : . Pour plus d’informations, consultez le fournisseur WSMan.

Les options de configuration de session représentent les valeurs de session définies côté serveur ou réception de la fin d’une connexion distante. Le côté client ou l’envoi de la fin de la connexion peut définir des valeurs d’option de session lorsque la session est créée, ou lorsque le client se déconnecte ou se reconnecte à la session. Sauf indication contraire, lorsque les valeurs de définition sont en conflit, les valeurs côté client sont prioritaires. Toutefois, les valeurs côté client ne peuvent pas violer les valeurs maximales et les quotas définis dans la configuration de session.

Sans paramètres, New-PSTransportOption génère un objet d’option de transport qui a des valeurs Null pour toutes les options. Si vous omettez un paramètre, l’objet a une valeur Null pour la propriété que le paramètre représente. Une valeur Null n’affecte pas la configuration de session.

Pour plus d’informations sur les options de session, consultez New-PSSessionOption. Pour plus d’informations sur les configurations de session, consultez about_Session_Configurations.

Cette applet de commande a été introduite dans Windows PowerShell 3.0.

Exemples

Exemple 1 : Générer une option de transport par défaut

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

Cette commande exécute la New-PSTransportOption sans paramètres. La sortie indique que l’applet de commande génère un objet d’option de transport qui a des valeurs Null pour toutes les propriétés.

Exemple 2 : Obtenir les options de configuration de session

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                    :

Cet exemple montre comment utiliser un objet options de transport pour définir des options de configuration de session.

Exemple 3 : Définition d’une option de transport

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

Cette commande montre l’effet de la définition d’une option de transport dans une configuration de session sur les sessions qui utilisent la configuration de session.

Paramètres

-IdleTimeoutSec

Détermine la durée pendant laquelle chaque session reste ouverte si l’ordinateur distant ne reçoit aucune communication de l’ordinateur local. Cela inclut le signal de pulsation. Lorsque l’intervalle expire, la session se ferme.

La valeur de délai d’inactivité est importante lorsque l’utilisateur a l’intention de se déconnecter et de se reconnecter à une session. L’utilisateur ne peut se reconnecter que si la session n’a pas expiré.

Le paramètre IdleTimeoutSec correspond à la propriété IdleTimeoutMs d’une configuration de session.

Entrez une valeur en secondes. La valeur par défaut est 7200 (2 heures). La valeur minimale est 60 (1 minute). La valeur maximale est la valeur de la propriété IdleTimeout des objets Shell dans la configuration WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). La valeur par défaut est 7200000 millisecondes (2 heures).

Si une valeur de délai d’inactivité est définie dans les options de session et dans la configuration de session, la valeur définie dans les options de session est prioritaire, mais elle ne peut pas dépasser la valeur du MaxIdleTimeoutMs propriété de la configuration de session. Pour définir la valeur de la propriété MaxIdleTimeoutMs, utilisez le paramètre MaxIdleTimeoutSec .

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxConcurrentCommandsPerSession

Limite le nombre de commandes qui peuvent s’exécuter en même temps dans chaque session à la valeur spécifiée. La valeur par défaut est 1 000.

Le paramètre MaxConcurrentCommandsPerSession correspond à la propriété MaxConcurrentCommandsPerShell d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxConcurrentUsers

Limite le nombre d’utilisateurs qui peuvent exécuter des commandes en même temps dans chaque session à la valeur spécifiée. La valeur par défaut est 5.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxIdleTimeoutSec

Limite le délai d’inactivité défini pour chaque session à la valeur spécifiée. La valeur par défaut est [Int] ::MaxValue (~25 jours).

La valeur de délai d’inactivité est importante lorsque l’utilisateur a l’intention de se déconnecter et de se reconnecter à une session. L’utilisateur ne peut se reconnecter que si la session n’a pas expiré.

Le paramètre MaxIdleTimeoutSec correspond à la propriété MaxIdleTimeoutMs d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxMemoryPerSessionMB

Limite la mémoire utilisée par chaque session à la valeur spécifiée. Entrez une valeur en mégaoctets. La valeur par défaut est de 1 024 mégaoctets (1 Go).

Le paramètre MaxMemoryPerSessionMB correspond à la propriété MaxMemoryPerShellMB d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxProcessesPerSession

Limite le nombre de processus en cours d’exécution dans chaque session à la valeur spécifiée. La valeur par défaut est 15.

Le paramètre MaxProcessesPerSession correspond à la propriété MaxProcessesPerShell d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxSessions

Limite le nombre de sessions qui utilisent la configuration de session. La valeur par défaut est 25.

Le paramètre MaxSessions correspond à la propriété MaxShells d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-MaxSessionsPerUser

Limite le nombre de sessions qui utilisent la configuration de session et s’exécutent avec les informations d’identification d’un utilisateur donné à la valeur spécifiée. La valeur par défaut est 25.

Lorsque vous spécifiez cette valeur, considérez que de nombreux utilisateurs peuvent utiliser les informations d’identification d’une exécution en tant qu’utilisateur.

Le paramètre MaxSessionsPerUser correspond à la propriété MaxShellsPerUser d’une configuration de session.

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-OutputBufferingMode

Détermine la façon dont la sortie de commande est gérée dans les sessions déconnectées lorsque la mémoire tampon de sortie devient pleine. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • Bloquer. Lorsque la mémoire tampon de sortie est pleine, l’exécution est suspendue jusqu’à ce que la mémoire tampon soit effacée.
  • Goutte. Lorsque la mémoire tampon de sortie est pleine, l’exécution se poursuit. Lorsque la nouvelle sortie est enregistrée, la sortie la plus ancienne est ignorée.
  • Aucun. Aucun mode de mise en mémoire tampon de sortie n’est spécifié.

La valeur par défaut de la propriété OutputBufferingMode des sessions est Block.

Type:OutputBufferingMode
Valeurs acceptées:None, Drop, Block
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

-ProcessIdleTimeoutSec

Limite le délai d’attente pour chaque processus hôte à la valeur spécifiée. La valeur par défaut, 0, signifie qu’il n’y a pas de valeur de délai d’attente pour le processus.

D’autres configurations de session ont des valeurs de délai d’attente par processus. Par exemple, la configuration de session microsoft.PowerShell.Workflow a une valeur d’expiration par processus de 28800 secondes (8 heures).

Type:Int32
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger l’entrée vers cette applet de commande.

Sorties

WSManConfigurationOption

Notes

  • Les propriétés d’un objet de configuration de session varient selon les options définies pour la configuration de session et les valeurs de ces options. En outre, les configurations de session qui utilisent un fichier de configuration de session ont des propriétés supplémentaires.