Freigeben über


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 Register-PSSessionConfiguration Cmdlets 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 serverseitigen Sitzungswerte oder das Ende einer Remoteverbindung dar. 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 wieder 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.

Generiert ohne Parameter New-PSTransportOption ein Transportoptionsobjekt mit NULL-Werten für alle Optionen. 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

New-PSTransportOption

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

Dieser Befehl führt den New-PSTransportOption ohne Parameter aus. Die Ausgabe zeigt, dass das Cmdlet ein Transportoptionsobjekt generiert, das NULL-Werte für alle Eigenschaften aufweist.

Beispiel 2: Abrufen von Sitzungskonfigurationsoptionen

In diesem Beispiel wird gezeigt, wie Sie ein Transportoptionenobjekt verwenden, um Sitzungskonfigurationsoptionen festzulegen.

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

Der erste Befehl verwendet das New-PSTransportOption Cmdlet, um ein Transportoptionenobjekt zu erstellen, das in der $t Variablen gespeichert wird. Der Befehl verwendet den MaxSessions-Parameter, um die maximale Anzahl von Sitzungen auf 40 zu erhöhen.

Der zweite Befehl verwendet das Register-PSSessionConfiguration Cmdlet zum Erstellen der ITTasks-Sitzungskonfiguration. Der Befehl verwendet den TransportOption-Parameter , um das Transportoptionenobjekt in der $t Variablen anzugeben.

Der dritte Befehl verwendet das Get-PSSessionConfiguration Cmdlet, um die ITTasks-Sitzungskonfigurationen abzurufen, und das Format-List Cmdlet, um alle Eigenschaften des Sitzungskonfigurationsobjekts in einer Liste anzuzeigen. Die Ausgabe zeigt, dass der Wert der MaxShells-Eigenschaft der Sitzungskonfiguration 40 ist.

Beispiel 3: Festlegen einer Transportoption

Dieser Befehl zeigt, wie sich die Einstellung einer Transportoption in einer Sitzungskonfiguration auf Sitzungen auswirkt, die die Sitzungskonfiguration verwenden.

$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

Der erste Befehl verwendet das New-PSTransportOption Cmdlet, um ein Transportoptionsobjekt zu erstellen. Der Befehl verwendet den IdleTimeoutSec-Parameter zum Festlegen des IdleTimeoutSec-Eigenschaftswerts des Objekts auf eine Stunde (3.600 Sekunden). Der Befehl speichert das Transportobjektobjekt in der $t Variablen.

Der zweite Befehl verwendet das Set-PSSessionConfiguration Cmdlet, um die Transportoptionen der ITTasks-Sitzungskonfiguration zu ändern. Der Befehl verwendet den TransportOption-Parameter , um das Transportoptionenobjekt in der $t Variablen anzugeben.

Der dritte Befehl verwendet das New-PSSession Cmdlet, um die MyITTasks-Sitzung auf dem lokalen Computer zu erstellen. Der Befehl verwendet die ConfigurationName-Eigenschaft, um die ITTasks-Sitzungskonfiguration anzugeben. Der Befehl speichert die Sitzung in der variablen $s. Beachten Sie, dass der Befehl nicht den Parameter SessionOption von New-PSSession verwendet, um ein benutzerdefiniertes Leerlauftimeout für die Sitzung festzulegen. Wäre dies der Tat, hätte der in der Sitzungsoption festgelegte Leerlauftimeoutwert Vorrang vor dem Leerlauftimeout, das in der Sitzungskonfiguration festgelegt ist.

Der vierte Befehl verwendet das Format-List Cmdlet, um alle Eigenschaften der Sitzung in der $s Variablen in einer Liste anzuzeigen. Die Ausgabe zeigt, dass die Sitzung ein Leerlauftimeout von einer Stunde (360.000 Millisekunden) aufweist.

Parameter

-IdleTimeoutSec

Bestimmt, wie lange jede Sitzung geöffnet bleibt, wenn der Remotecomputer keine Kommunikation vom lokalen Computer empfängt. Dies schließt das Taktsignal ein. Wenn das Intervall abläuft, wird die Sitzung geschlossen.

Der Wert des Leerlauftimeouts ist von erheblicher Bedeutung, wenn der Benutzer die Verbindung trennen und wieder 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). Das Maximum 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:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxConcurrentCommandsPerSession

Begrenzt die Anzahl von Befehlen, die in jeder Sitzung gleichzeitig ausgeführt werden können, auf den angegebenen Wert. Der Standardwert lautet „1000“.

Der Parameter MaxConcurrentCommandsPerSession entspricht der MaxConcurrentCommandsPerShell-Eigenschaft einer Sitzungskonfiguration.

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

-MaxConcurrentUsers

Schränkt die Anzahl der Benutzer, die Befehle gleichzeitig in jeder Sitzung ausführen können, auf den angegebenen Wert ein. Der Standardwert ist 5.

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

-MaxIdleTimeoutSec

Schränkt das festgelegte Leerlauftimeout für jede Sitzung auf den angegebenen Wert ein. Der Standardwert ist [Int]::MaxValue (~25 Tage).

Der Wert des Leerlauftimeouts ist von erheblicher Bedeutung, wenn der Benutzer die Verbindung trennen und wieder 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:Nullable<T>[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:Nullable<T>[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:Nullable<T>[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:Nullable<T>[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 einer Ausführung als Benutzer verwenden.

Der MaxSessionsPerUser-Parameter entspricht der MaxShellsPerUser-Eigenschaft einer Sitzungskonfiguration.

Type:Nullable<T>[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:

  • Block Wenn der Ausgabepuffer voll ist, wird die Ausführung angehalten, bis der Puffer gelöscht ist.
  • Drop Wenn der Ausgabepuffer voll ist, wird die Ausführung fortgesetzt. Sobald neue Ausgabedaten gespeichert werden, wird die älteste Ausgabe verworfen.
  • None Es ist kein Ausgabepuffermodus angegeben.

Der Standardwert der OutputBufferingMode-Eigenschaft von Sitzungen ist 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

Schränkt das Timeout für jeden Hostprozess auf den angegebenen Wert ein. Der Standardwert 0 bedeutet, dass es keinen Timeoutwert für den Prozess gibt.

Andere Sitzungskonfigurationen weisen Timeoutwerte pro Prozess auf. Beispielsweise weist die Sitzungskonfiguration Microsoft.PowerShell.Workflow einen Timeoutwert pro Prozess von 28800 Sekunden (8 Stunden) auf.

Type:Nullable<T>[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

WSManConfigurationOption

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.