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 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 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 New-PSTransportOption generiert 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 :
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 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 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-ParameterNew-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 Herzfrequenzsignal. 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 beträgt 7.200 Sekunden (2 Stunden). Der Mindestwert beträgt 60 (1 Minute).
Der Höchstwert 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. Verwenden Sie zum Festlegen des Werts der MaxIdleTimeoutMs-Eigenschaft den Parameter MaxIdleTimeoutSec .
Parametereigenschaften
| Typ: | |
| 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 Parameter "MaxConcurrentCommandsPerSession " entspricht der MaxConcurrentCommandsPerShell-Eigenschaft einer Sitzungskonfiguration.
Parametereigenschaften
| Typ: | |
| 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: | |
| 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 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 Parameter "MaxIdleTimeoutSec " entspricht der Eigenschaft "MaxIdleTimeoutMs " einer Sitzungskonfiguration.
Parametereigenschaften
| Typ: | |
| 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 Parameter "MaxMemoryPerSessionMB " entspricht der MaxMemoryPerShellMB-Eigenschaft einer Sitzungskonfiguration.
Parametereigenschaften
| Typ: | |
| 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 Parameter "MaxProcessesPerSession " entspricht der MaxProcessesPerShell-Eigenschaft einer Sitzungskonfiguration.
Parametereigenschaften
| Typ: | |
| 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 Parameter MaxSessions entspricht der MaxShells-Eigenschaft einer Sitzungskonfiguration .
Parametereigenschaften
| Typ: | |
| 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 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.
Parametereigenschaften
| Typ: | |
| 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:
-
BlockWenn der Ausgabepuffer voll ist, wird die Ausführung angehalten, bis der Puffer gelöscht ist. -
DropWenn der Ausgabepuffer voll ist, wird die Ausführung fortgesetzt. Beim Speichern einer neuen Ausgabe wird die älteste Ausgabe verworfen. -
NoneEs wird kein Ausgabepuffermodus angegeben.
Der Standardwert der OutputBufferingMode-Eigenschaft von Sitzungen ist "Block".
Parametereigenschaften
| Typ: | |
| 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 weisen Zeitüberschreitungswerte pro Prozess auf. Beispielsweise die Microsoft. PowerShell.Workflow Sitzungskonfiguration hat einen Zeitüberschreitungswert pro Prozess von 28800 Sekunden (8 Stunden).
Parametereigenschaften
| Typ: | |
| 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
Sie können keine Objekte an dieses Cmdlet weiterleiten.
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.