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 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 die Transportoptionseinstellungen auch ändern, indem Sie die Werte der Sitzungskonfigurationseigenschaften im WSMan:-Laufwerk 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 Vorrang, wenn die Einstellungswerte in Konflikt geraten. Die clientseitigen Werte können jedoch keine Maximalwerte und Kontingente verletzen, die in der Sitzungskonfiguration festgelegt sind.
Ohne Parameter generiert New-PSTransportOption
ein Transportoptionsobjekt mit Nullwerten für alle Optionen. 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
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
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 Cmdlet New-PSTransportOption
, um ein Transportoptionenobjekt zu erstellen, das in der variablen $t
gespeichert wird. Der Befehl verwendet den MaxSessions Parameter, um die maximale Anzahl von Sitzungen auf 40 zu erhöhen.
Der zweite Befehl verwendet das Cmdlet Register-PSSessionConfiguration
erstellen die ITTasks-Sitzungskonfiguration. Der Befehl verwendet den parameter TransportOption, um das Transportoptionenobjekt in der $t
Variablen anzugeben.
Der dritte Befehl verwendet das Cmdlet Get-PSSessionConfiguration
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 die Auswirkung des Festlegens einer Transportoption in einer Sitzungskonfiguration auf die Sitzungen, 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 Cmdlet New-PSTransportOption
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 Cmdlet Set-PSSessionConfiguration
, 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 Cmdlet New-PSSession
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 den parameter SessionOption von New-PSSession
nicht 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 Cmdlet Format-List
, um alle Eigenschaften der Sitzung in der variablen $s
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 nur dann erneut eine Verbindung herstellen, wenn die Sitzung kein Timeout ausgeführt hat.
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 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. Um den Wert der MaxIdleTimeoutMs-Eigenschaft festzulegen, verwenden Sie den MaxIdleTimeoutSec Parameter.
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 ist 1000.
Der MaxConcurrentCommandsPerSession Parameter 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 nur dann erneut eine Verbindung herstellen, wenn die Sitzung kein Timeout ausgeführt hat.
Der MaxIdleTimeoutSec Parameter entspricht der MaxIdleTimeoutMs Eigenschaft einer Sitzungskonfiguration.
Typ: | Nullable<T>[Int32] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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.
Typ: | Nullable<T>[Int32] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | 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.
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 MaxSessions Parameter 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 mit den Anmeldeinformationen eines bestimmten Benutzers auf den angegebenen Wert ausgeführt werden. 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 der Ausgabepuffer voll wird. Die zulässigen Werte für diesen Parameter sind:
-
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. Beim Speichern einer neuen Ausgabe 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. Beispielsweise weist die Microsoft.PowerShell.Workflow Sitzungskonfiguration einen Zeitüberschreitungswert pro Prozess von 28800 Sekunden (8 Stunden) auf.
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
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.