Freigeben über


New-PSTransportOption

Erstellt ein Objekt, das erweiterte Optionen für eine Sitzungskonfiguration enthält.

Syntax

Default (Standard)

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 cmdlet New-PSTransportOption 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 und Set-PSSessionConfiguration Cmdlets.

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 Serverseite oder der empfangenden Seite einer Remoteverbindung festgelegt wurden. Die Clientseite (oder Sendeseite) der Verbindung kann die Sitzungsoptionswerte festlegen, wenn die Sitzung erstellt wird oder wenn der Client die Sitzungsverbindung trennt bzw. wiederherstellt. Sofern nicht anders angegeben, haben die clientseitigen Werte bei einem Wertekonflikt Vorrang. Die clientseitigen Werte können jedoch keine Maximalwerte und Kontingente verletzen, die in der Sitzungskonfiguration festgelegt sind.

Ohne Parameter generiert New-PSTransportOption ein Transportoptionsobjekt, das NULL-Werte für alle Optionen aufweist. Wenn Sie einen Parameter weglassen, weist das Objekt einen NULL-Wert für die Eigenschaft auf, die der Parameter darstellt. Ein Nullwert 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 die New-PSTransportOption ohne Parameter ausgeführt. Die Ausgabe zeigt, dass das Cmdlet ein Transportoptionsobjekt generiert, das Nullwerte für alle Eigenschaften enthält.

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 die Auswirkung des Festlegens einer Transportoption in einer Sitzungskonfiguration auf die Sitzungen, die die Sitzungskonfiguration verwenden.

Parameter

-IdleTimeoutSec

Bestimmt, wie lange jede Sitzung geöffnet bleibt, wenn der Remotecomputer keine Kommunikation vom lokalen Computer empfängt. Dazu gehört das Herzfrequenzsignal. Wenn das Intervall abläuft, wird die Sitzung geschlossen.

Der Wert für die Leerlaufzeitüberschreitung ist von großer Bedeutung, wenn der Benutzer die Sitzungsverbindung trennen und wiederherstellen möchte. Der Benutzer kann sich nur dann erneut verbinden, wenn die Sitzung nicht abgelaufen ist.

Der Parameter IdleTimeoutSec entspricht der IdleTimeoutMs-Eigenschaft einer Sitzungskonfiguration.

Geben Sie einen Wert in Sekunden ein. Der Standardwert ist 7200 (2 Stunden). Der Mindestwert beträgt 60 (1 Minute). Das Maximum ist der Wert der IdleTimeout Eigenschaft von Shell-Objekten in der WSMan-Konfiguration (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). Der Standardwert ist 7200000 Millisekunden (2 Stunden).

Wenn ein Leerlaufzeitlimit in den Sitzungsoptionen und in der Sitzungskonfiguration festgelegt ist, hat der in den Sitzungsoptionen festgelegte Wert Vorrang, aber er kann den Wert der MaxIdleTimeoutMs Eigenschaft der Sitzungskonfiguration nicht überschreiten. Um den Wert der MaxIdleTimeoutMs-Eigenschaft festzulegen, verwenden Sie den MaxIdleTimeoutSec Parameter.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxConcurrentCommandsPerSession

Beschränkt die Anzahl der Befehle, die gleichzeitig in jeder Sitzung auf den angegebenen Wert ausgeführt werden können. Der Standardwert lautet „1000“.

Der MaxConcurrentCommandsPerSession-Parameter entspricht der MaxConcurrentCommandsPerShell–-Eigenschaft einer Sitzungskonfiguration.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxConcurrentUsers

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

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxIdleTimeoutSec

Beschränkt den für jede Sitzung festgelegten Inaktivitäts-Timeout auf den angegebenen Wert. Der Standardwert ist [Int]::MaxValue (~25 Tage).

Der Wert für die Leerlaufzeitüberschreitung ist von großer Bedeutung, wenn der Benutzer die Sitzungsverbindung trennen und wiederherstellen möchte. Der Benutzer kann sich nur dann erneut verbinden, wenn die Sitzung nicht abgelaufen ist.

Der MaxIdleTimeoutSec Parameter entspricht der MaxIdleTimeoutMs Eigenschaft einer Sitzungskonfiguration.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxMemoryPerSessionMB

Schränkt den von jeder Sitzung verwendeten Arbeitsspeicher auf den angegebenen Wert ein. Geben Sie einen Wert in Megabyte ein. Der Standardwert ist 1024 MB (1 GB).

Der MaxMemoryPerSessionMB--Parameter entspricht der MaxMemoryPerShellMB--Eigenschaft einer Sitzungskonfiguration.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxProcessesPerSession

Beschränkt die Anzahl der Prozesse, die in jeder Sitzung ausgeführt werden, auf den angegebenen Wert. Der Standardwert ist 15.

Der MaxProcessesPerSession--Parameter entspricht der MaxProcessesPerShell--Eigenschaft einer Sitzungskonfiguration.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten: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.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-MaxSessionsPerUser

Beschränkt die Anzahl der Sitzungen, die die Sitzungskonfiguration verwenden und mit den Anmeldeinformationen eines bestimmten Benutzers auf den angegebenen Wert ausgeführt werden. Der Standardwert ist 25.

Berücksichtigen Sie beim Festlegen dieses Werts, dass viele Benutzer möglicherweise die Anmeldeinformationen eines Benutzers mit „Ausführen als“-Rechten verwenden.

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

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-OutputBufferingMode

Bestimmt, wie die Befehlsausgabe in getrennten Sitzungen verwaltet wird, wenn sich der Ausgabepuffer füllt. Die zulässigen Werte für diesen Parameter sind:

  • Blockieren. Wenn der Ausgabepuffer voll ist, wird die Ausführung angehalten, bis der Puffer gelöscht ist.
  • Tropfen. Wenn der Ausgabepuffer voll ist, wird die Ausführung fortgesetzt. Beim Speichern einer neuen Ausgabe wird die älteste Ausgabe verworfen.
  • Keiner. Es wird kein Ausgabepuffermodus angegeben.

Der Standardwert der OutputBufferingMode-Eigenschaft von Sitzungen ist Block.

Parametereigenschaften

Typ:OutputBufferingMode
Standardwert:None
Zulässige Werte:None, Drop, Block
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-ProcessIdleTimeoutSec

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

Andere Sitzungskonfigurationen verfügen über Zeitüberschreitungswerte pro Prozess. Beispielsweise weist die Microsoft.PowerShell.Workflow Sitzungskonfiguration einen Zeitüberschreitungswert pro Prozess von 28800 Sekunden (8 Stunden) auf.

Parametereigenschaften

Typ:Int32
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

Eingaben

None

Eingaben können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

WSManConfigurationOption

Hinweise

  • Die Eigenschaften eines Sitzungskonfigurationsobjekts variieren je nach den für die Sitzungskonfiguration festgelegten Optionen und den Werten dieser Optionen. Außerdem verfügen Sitzungskonfigurationen, die eine Sitzungskonfigurationsdatei verwenden, über zusätzliche Eigenschaften.