New-PSTransportOption
Erstellt ein Objekt, das erweiterte Optionen für eine Sitzungskonfiguration enthält.
Syntax
New-PSTransportOption
[-MaxIdleTimeoutSec <Int32>]
[-ProcessIdleTimeoutSec <Int32>]
[-MaxSessions <Int32>]
[-MaxConcurrentCommandsPerSession <Int32>]
[-MaxSessionsPerUser <Int32>]
[-MaxMemoryPerSessionMB <Int32>]
[-MaxProcessesPerSession <Int32>]
[-MaxConcurrentUsers <Int32>]
[-IdleTimeoutSec <Int32>]
[-OutputBufferingMode <OutputBufferingMode>]
[<CommonParameters>]
Beschreibung
Das New-PSTransportOption-Cmdlet erstellt ein Objekt, das Transportoptionen für Sitzungskonfigurationen enthält. Sie können das -Objekt als Wert des TransportOption-Parameters von Cmdlets verwenden, die eine Sitzungskonfiguration erstellen oder ändern, z. B. die Cmdlets Register-PSSessionConfiguration und Set-PSSessionConfiguration.
Sie können auch die Einstellungen für Transportoptionen ändern, indem Sie die Werte der Sitzungskonfigurationseigenschaften im Laufwerk „WSMan:“ bearbeiten. Weitere Informationen finden Sie unter WSMan-Anbieter.
Die Sitzungskonfigurationsoptionen stellen die Sitzungswerte dar, die auf der Serverseite festgelegt sind oder das Ende einer Remoteverbindung empfangen. Das clientseitige oder sendende Ende der Verbindung kann Sitzungsoptionswerte festlegen, wenn die Sitzung erstellt wird oder wenn der Client die Verbindung mit der Sitzung trennt oder erneut eine Verbindung mit der Sitzung herstellt. Sofern nicht anders angegeben, haben die clientseitigen Werte bei einem Wertekonflikt Vorrang. Allerdings dürfen die clientseitigen Werte die maximalen, in der Sitzungskonfiguration festgelegten Werte und Kontingente nicht überschreiten.
Ohne Parameter generiert New-PSTransportOption ein Transportoptionsobjekt, das NULL-Werte für alle Optionen aufweist. Wenn Sie einen Parameter auslassen, verfügt das Objekt über einen NULL-Wert für die Eigenschaft, die vom Parameter dargestellt wird. Ein NULL-Wert wirkt sich nicht auf die Sitzungskonfiguration aus.
Weitere Informationen zu Sitzungsoptionen finden Sie unter New-PSSessionOption. Weitere Informationen zu Sitzungskonfigurationen finden Sie unter about_Session_Configurations.
Dieses Cmdlet wurde in Windows PowerShell 3.0 eingeführt.
Beispiele
Beispiel 1: Generieren einer Standardtransportoption
PS C:\> New-PSTransportOption
ProcessIdleTimeoutSec :
MaxIdleTimeoutSec :
MaxSessions :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser :
MaxMemoryPerSessionMB :
MaxProcessesPerSession :
MaxConcurrentUsers :
IdleTimeoutSec :
OutputBufferingMode :
Mit diesem Befehl wird new-PSTransportOption ohne Parameter ausgeführt. Die Ausgabe zeigt, dass das Cmdlet ein Transportoptionsobjekt generiert, das NULL-Werte für alle Eigenschaften aufweist.
Beispiel 2: Abrufen von Sitzungskonfigurationsoptionen
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 :
In diesem Beispiel wird gezeigt, wie Sie ein Transportoptionenobjekt verwenden, um Sitzungskonfigurationsoptionen festzulegen.
Beispiel 3: Festlegen einer Transportoption
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
Dieser Befehl zeigt, wie sich die Einstellung einer Transportoption in einer Sitzungskonfiguration auf Sitzungen auswirkt, die die Sitzungskonfiguration verwenden.
Parameter
-IdleTimeoutSec
Bestimmt, wie lange jede Sitzung geöffnet bleibt, wenn der Remotecomputer keine Kommunikation vom lokalen Computer empfängt. Dies schließt das Heartbeatsignal ein. Wenn das Intervall abläuft, wird die Sitzung geschlossen.
Der Wert für das Leerlauftimeout ist von erheblicher Bedeutung, wenn der Benutzer die Verbindung trennen und erneut eine Verbindung mit einer Sitzung herstellen möchte. Der Benutzer kann die Verbindung nur wiederherstellen, wenn für die Sitzung keine Zeitüberschreitung eingetreten ist.
Der IdleTimeoutSec-Parameter entspricht der IdleTimeoutMs-Eigenschaft einer Sitzungskonfiguration.
Geben Sie einen Wert in Sekunden ein.
Der Standardwert beträgt 7.200 Sekunden (2 Stunden).
Der minimale Wert beträgt 60 Sekunden (1 Minute).
Der Maximumwert ist der Wert der IdleTimeout-Eigenschaft von Shell-Objekten in der WSMan-Konfiguration (WSMan:\\\<ComputerName\>\Shell\IdleTimeout
).
Der Standardwert beträgt 7.200.000 Millisekunden (2 Stunden).
Wenn in den Sitzungsoptionen und in der Sitzungskonfiguration ein Leerlauftimeoutwert festgelegt ist, hat der in den Sitzungsoptionen festgelegte Wert Vorrang, darf aber den Wert der MaxIdleTimeoutMs-Eigenschaft der Sitzungskonfiguration nicht überschreiten. Um den Wert der MaxIdleTimeoutMs-Eigenschaft festzulegen, verwenden Sie den MaxIdleTimeoutSec-Parameter.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxConcurrentCommandsPerSession
Beschränkt die Anzahl von Befehlen, die gleichzeitig in jeder Sitzung ausgeführt werden können, auf den angegebenen Wert. Der Standardwert lautet „1000“.
Der Parameter MaxConcurrentCommandsPerSession entspricht der MaxConcurrentCommandsPerShell-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxConcurrentUsers
Beschränkt die Anzahl der Benutzer, die Befehle gleichzeitig in jeder Sitzung ausführen können, auf den angegebenen Wert. Der Standardwert ist 5.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxIdleTimeoutSec
Schränkt das Leerlauftimeout für jede Sitzung auf den angegebenen Wert ein. Der Standardwert ist [Int]::MaxValue (~25 Tage).
Der Wert für das Leerlauftimeout ist von erheblicher Bedeutung, wenn der Benutzer die Verbindung trennen und erneut eine Verbindung mit einer Sitzung herstellen möchte. Der Benutzer kann die Verbindung nur wiederherstellen, wenn für die Sitzung keine Zeitüberschreitung eingetreten ist.
Der Parameter MaxIdleTimeoutSec entspricht der MaxIdleTimeoutMs-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxMemoryPerSessionMB
Beschränkt die Arbeitsspeichernutzung pro Sitzung auf den angegebenen Wert. Geben Sie einen Wert in Megabytes ein. Der Standardwert ist 1.024 MB (1 GB).
Der MaxMemoryPerSessionMB-Parameter entspricht der MaxMemoryPerShellMB-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxProcessesPerSession
Beschränkt die Anzahl der Prozesse, die pro Sitzung ausgeführt werden, auf den angegebenen Wert. Der Standardwert ist 15.
Der Parameter MaxProcessesPerSession entspricht der MaxProcessesPerShell-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxSessions
Beschränkt die Anzahl der Sitzungen, die die Sitzungskonfiguration verwenden. Der Standardwert ist 25.
Der MaxSessions-Parameter entspricht der MaxShells-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MaxSessionsPerUser
Beschränkt die Anzahl der Sitzungen, die die Sitzungskonfiguration verwenden und unter den Anmeldeinformationen eines bestimmten Benutzers ausgeführt werden, auf den angegebenen Wert. Der Standardwert ist 25.
Wenn Sie diesen Wert angeben, sollten Sie berücksichtigen, dass viele Benutzer möglicherweise die Anmeldeinformationen eines ausführenden Benutzers verwenden.
Der Parameter MaxSessionsPerUser entspricht der MaxShellsPerUser-Eigenschaft einer Sitzungskonfiguration.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-OutputBufferingMode
Bestimmt, wie die Befehlsausgabe in getrennten Sitzungen verwaltet wird, wenn sich der Ausgabepuffer füllt. Zulässige Werte für diesen Parameter:
- Blockierung. Wenn der Ausgabepuffer voll ist, wird die Ausführung unterbrochen, bis der Puffer leer ist.
- Ablage. Wenn der Ausgabepuffer voll ist, wird die Ausführung fortgesetzt. Sobald neue Ausgabedaten gespeichert werden, wird die älteste Ausgabe verworfen.
- Keine. Es wurde kein Ausgabepufferungsmodus angegeben.
Der Standardwert der OutputBufferingMode-Eigenschaft von Sitzungen ist Block.
Type: | OutputBufferingMode |
Accepted values: | None, Drop, Block |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-ProcessIdleTimeoutSec
Beschränkt das Timeout für jeden Hostprozess auf den angegebenen Wert. Der Standardwert 0 bedeutet, dass kein Timeoutwert für den Prozess vorhanden ist.
Andere Sitzungskonfigurationen weisen Timeoutwerte pro Prozess auf. Beispielsweise weist die Microsoft.PowerShell.Workflow-Sitzungskonfiguration einen Timeoutwert pro Prozess von 28800 Sekunden (8 Stunden) auf.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
Eingaben
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
Hinweise
- Die Eigenschaften eines Sitzungskonfigurationsobjekts weichen hinsichtlich der für die Sitzungskonfiguration festgelegten Optionen sowie der Werte dieser Optionen ab. Sitzungskonfigurationen, die eine Sitzungskonfigurationsdatei verwenden, haben außerdem zusätzliche Eigenschaften.