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 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 der Serverseite festgelegt wurden, oder das Ende einer Remoteverbindung. Das clientseitige oder sendende Ende der Verbindung kann sitzungsoptionswerte festlegen, wenn die Sitzung erstellt wird, oder wenn der Client eine Verbindung mit der Sitzung trennt oder erneut eine Verbindung mit der Sitzung hergestellt. 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 New-PSTransportOption generiert ein Transportoptionsobjekt mit Nullwerten 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 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

New-PSTransportOption

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

Dieser Befehl führt die New-PSTransportOption ohne Parameter aus. Die Ausgabe zeigt, dass das Cmdlet ein Transportoptionsobjekt generiert, das Nullwerte für alle Eigenschaften enthält.

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 zum Erstellen eines Transportoptionenobjekts, das in der $t Variablen gespeichert wird. Der Befehl verwendet den Parameter "MaxSessions ", 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 Parameter "TransportOption ", um das Transportoptionenobjekt in der $t Variablen anzugeben.

Der dritte Befehl verwendet das Get-PSSessionConfiguration Cmdlet zum Abrufen der ITTasks-Sitzungskonfigurationen und des Format-List Cmdlets, 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 zum Erstellen eines Transportoptionsobjekts. Der Befehl verwendet den Parameter IdleTimeoutSec , um den IdleTimeoutSec-Eigenschaftswert des Objekts auf eine Stunde (3600 Sekunden) festzulegen. Der Befehl speichert das Transportobjekt in der $t Variablen.

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

Der dritte Befehl verwendet das New-PSSession Cmdlet zum Erstellen der MyITTasks-Sitzung auf dem lokalen Computer. 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 SessionOption-Parameter New-PSSession verwendet, um ein benutzerdefiniertes Leerlauftimeout für die Sitzung festzulegen. Wenn dies der Vorgang getan hat, hat der in der Sitzungsoption festgelegte Leerlauftimeout Vorrang vor dem in der Sitzungskonfiguration festgelegten Leerlauftimeout.

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 eine Leerlaufzeit 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. Dazu gehört das Taktsignal. Wenn das Intervall abläuft, wird die Sitzung geschlossen.

Der Wert des Leerlauftimeouts ist von erheblicher Bedeutung, wenn der Benutzer beabsichtigt, eine Verbindung mit einer Sitzung zu trennen und erneut herzustellen. Der Benutzer kann die Verbindung nur wiederherstellen, wenn für die Sitzung keine Zeitüberschreitung eingetreten ist.

Der Parameter IdleTimeoutSec 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 Höchstwert 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 ein Leerlauftimeoutwert 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. Verwenden Sie zum Festlegen des Werts der MaxIdleTimeoutMs-Eigenschaft den Parameter MaxIdleTimeoutSec .

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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 Parameter "MaxConcurrentCommandsPerSession " entspricht der MaxConcurrentCommandsPerShell-Eigenschaft einer Sitzungskonfiguration.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MaxIdleTimeoutSec

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

Der Wert des Leerlauftimeouts ist von erheblicher Bedeutung, wenn der Benutzer beabsichtigt, eine Verbindung mit einer Sitzung zu trennen und erneut herzustellen. Der Benutzer kann die Verbindung nur wiederherstellen, wenn für die Sitzung keine Zeitüberschreitung eingetreten ist.

Der Parameter "MaxIdleTimeoutSec " entspricht der Eigenschaft "MaxIdleTimeoutMs " einer Sitzungskonfiguration.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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 Parameter "MaxMemoryPerSessionMB " entspricht der MaxMemoryPerShellMB-Eigenschaft einer Sitzungskonfiguration.

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MaxProcessesPerSession

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

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

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-MaxSessions

Beschränkt die Anzahl der Sitzungen, die die Sitzungskonfiguration verwenden. Der Standardwert ist 25.

Der Parameter MaxSessions entspricht der MaxShells-Eigenschaft einer Sitzungskonfiguration .

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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.

Berücksichtigen Sie bei der Angabe dieses Werts, dass viele Benutzer möglicherweise die Anmeldeinformationen einer Ausführung als Benutzer verwenden.

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

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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 wird kein Ausgabepuffermodus angegeben.

Der Standardwert der OutputBufferingMode-Eigenschaft von Sitzungen ist "Block".

Typ:Nullable<T>[OutputBufferingMode]
Zulässige Werte:None, Drop, Block
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren: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 weisen Zeitüberschreitungswerte pro Prozess auf. Die Microsoft.PowerShell.Workflow-Sitzungskonfiguration verfügt beispielsweise über einen Zeitüberschreitungswert pro Prozess von 28800 Sekunden (8 Stunden).

Typ:Nullable<T>[Int32]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

Eingaben

None

Sie können keine Objekte an dieses Cmdlet weiterleiten.

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.