Udostępnij za pośrednictwem


New-PSTransportOption

Tworzy obiekt zawierający zaawansowane opcje konfiguracji sesji.

Składnia

New-PSTransportOption
   [-MaxIdleTimeoutSec <Int32>]
   [-ProcessIdleTimeoutSec <Int32>]
   [-MaxSessions <Int32>]
   [-MaxConcurrentCommandsPerSession <Int32>]
   [-MaxSessionsPerUser <Int32>]
   [-MaxMemoryPerSessionMB <Int32>]
   [-MaxProcessesPerSession <Int32>]
   [-MaxConcurrentUsers <Int32>]
   [-IdleTimeoutSec <Int32>]
   [-OutputBufferingMode <OutputBufferingMode>]
   [<CommonParameters>]

Opis

Polecenie cmdlet New-PSTransportOption tworzy obiekt zawierający opcje transportu dla konfiguracji sesji. Można użyć obiektu jako wartości parametru TransportOption poleceń cmdlet, które tworzą lub zmieniają konfigurację sesji, takie jak polecenia cmdlet Register-PSSessionConfiguration i Set-PSSessionConfiguration.

Możesz również zmienić ustawienia opcji transportu, edytując wartości właściwości konfiguracji sesji na dysku WSMan: . Aby uzyskać więcej informacji, zapoznaj się z Dostawcą WSMan.

Opcje konfiguracji sesji reprezentują wartości sesji ustawione po stronie serwera lub stronie odbierającej połączenie zdalne. Po stronie klienta, lub po stronie wysyłającej połączenia, można ustawić wartości opcji sesji podczas tworzenia sesji, a także gdy klient się rozłącza lub ponownie łączy z sesją. O ile nie określono inaczej, jeśli wartości ustawień powodują konflikt, wartości po stronie klienta mają pierwszeństwo. Jednak wartości po stronie klienta nie mogą naruszać maksymalnych wartości i przydziałów ustawionych w konfiguracji sesji.

Bez parametrów New-PSTransportOption generuje obiekt opcji transportu, który ma wartości null dla wszystkich opcji. Jeśli pominięto parametr, obiekt ma wartość null dla właściwości, którą reprezentuje parametr. Wartość null nie ma wpływu na konfigurację sesji.

Aby uzyskać więcej informacji na temat opcji sesji, zobacz New-PSSessionOption. Aby uzyskać więcej informacji na temat konfiguracji sesji, zobacz about_Session_Configurations.

To polecenie cmdlet zostało wprowadzone w programie Windows PowerShell 3.0.

Przykłady

Przykład 1. Generowanie domyślnej opcji transportu

New-PSTransportOption

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

To polecenie uruchamia New-PSTransportOption bez parametrów. Dane wyjściowe pokazują, że polecenie cmdlet generuje obiekt opcji transportu, który ma wartości null dla wszystkich właściwości.

Przykład 2. Pobieranie opcji konfiguracji sesji

W tym przykładzie pokazano, jak używać obiektu opcji transportu do ustawiania opcji konfiguracji sesji.

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

Pierwsze polecenie używa polecenia cmdlet New-PSTransportOption do utworzenia obiektu opcji transportu, który zapisuje w zmiennej $t. Polecenie używa parametru MaxSessions, aby zwiększyć maksymalną liczbę sesji do 40.

Drugie polecenie używa polecenia cmdlet Register-PSSessionConfiguration do tworzenia konfiguracji sesji ITTasks. Polecenie używa parametru TransportOption, aby określić obiekt opcji transportu w zmiennej $t.

Trzecie polecenie używa polecenia cmdlet Get-PSSessionConfiguration w celu pobrania konfiguracji sesji ITTasks i polecenia cmdlet Format-List do wyświetlenia wszystkich właściwości obiektu konfiguracji sesji na liście. Dane wyjściowe pokazują, że wartość właściwości MaxShells konfiguracji sesji wynosi 40.

Przykład 3. Ustawianie opcji transportu

To polecenie pokazuje wpływ ustawienia opcji transportu w konfiguracji sesji na sesje, które korzystają z tej konfiguracji.

$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

Pierwsze polecenie używa polecenia cmdlet New-PSTransportOption do utworzenia obiektu opcji transportu. Polecenie używa parametru IdleTimeoutSec, aby ustawić wartość właściwości IdleTimeoutSec obiektu na jedną godzinę (3600 sekund). Polecenie zapisuje obiekt obiektów transportu w zmiennej $t.

Drugie polecenie używa cmdletu Set-PSSessionConfiguration do zmiany opcji transportu dla konfiguracji sesji ITTasks. Polecenie używa parametru TransportOption, aby określić obiekt opcji transportu w zmiennej $t.

Trzecie polecenie używa polecenia cmdlet New-PSSession do utworzenia sesji MyITTasks na komputerze lokalnym. Polecenie używa właściwości ConfigurationName, aby określić konfigurację sesji ITTasks. Polecenie zapisuje sesję w zmiennej $s. Zwróć uwagę, że polecenie nie używa parametru SessionOptionNew-PSSession w celu ustawienia niestandardowego limitu czasu bezczynności dla sesji. Jeśli tak, wartość limitu czasu bezczynności ustawiona w opcji sesji będzie miała pierwszeństwo przed limitem czasu bezczynności ustawionym w konfiguracji sesji.

Czwarte polecenie używa polecenia cmdlet Format-List do wyświetlania wszystkich właściwości sesji w zmiennej $s na liście. Dane wyjściowe pokazują, że sesja ma limit czasu bezczynności wynoszący jedną godzinę (360 000 milisekund).

Parametry

-IdleTimeoutSec

Określa, jak długo każda sesja pozostaje otwarta, jeśli komputer zdalny nie odbiera żadnej komunikacji z komputera lokalnego. Obejmuje to sygnał pulsu. Po wygaśnięciu interwału sesja zostanie zamknięta.

Wartość limitu czasu bezczynności ma istotne znaczenie, gdy użytkownik zamierza rozłączyć się i ponownie nawiązać połączenie z sesją. Użytkownik może ponownie nawiązać połączenie tylko wtedy, gdy sesja nie upłynęła limitu czasu.

Parametr IdleTimeoutSec odpowiada właściwości IdleTimeoutMs konfiguracji sesji.

Wprowadź wartość w sekundach. Wartość domyślna to 7200 (2 godziny). Minimalna wartość to 60 (1 minuta). Maksymalna wartość to wartość dla właściwości IdleTimeout obiektów powłoki w konfiguracji WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). Wartość domyślna to 72000000 milisekund (2 godziny).

Jeśli wartość limitu czasu bezczynności jest ustawiona w opcjach sesji i w konfiguracji sesji, wartość ustawiona w opcjach sesji ma pierwszeństwo, ale nie może przekraczać wartości MaxIdleTimeoutMs właściwości konfiguracji sesji. Aby ustawić wartość właściwości MaxIdleTimeoutMs, użyj parametru MaxIdleTimeoutSec.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxConcurrentCommandsPerSession

Ogranicza liczbę poleceń, które mogą być uruchamiane jednocześnie w każdej sesji do określonej wartości. Wartość domyślna to 1000.

Parametr MaxConcurrentCommandsPerSession odpowiada właściwości MaxConcurrentCommandsPerShell konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxConcurrentUsers

Ogranicza liczbę użytkowników, którzy mogą uruchamiać polecenia jednocześnie w każdej sesji do określonej wartości. Wartość domyślna to 5.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxIdleTimeoutSec

Ogranicza limit czasu bezczynności ustawiony dla każdej sesji na określoną wartość. Wartość domyślna to [Int]::MaxValue (ok. 25 dni).

Wartość limitu czasu bezczynności ma istotne znaczenie, gdy użytkownik zamierza rozłączyć się i ponownie nawiązać połączenie z sesją. Użytkownik może ponownie nawiązać połączenie tylko wtedy, gdy sesja nie upłynęła limitu czasu.

Parametr MaxIdleTimeoutSec odpowiada własności MaxIdleTimeoutMs konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxMemoryPerSessionMB

Ogranicza pamięć używaną przez każdą sesję do określonej wartości. Wprowadź wartość w megabajtach. Wartość domyślna to 1024 megabajty (1 GB).

Parametr MaxMemoryPerSessionMB odpowiada właściwości MaxMemoryPerShellMB konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxProcessesPerSession

Ogranicza liczbę procesów uruchomionych w każdej sesji do określonej wartości. Wartość domyślna to 15.

Parametr MaxProcessesPerSession odpowiada właściwości MaxProcessesPerShell konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxSessions

Ogranicza liczbę sesji korzystających z konfiguracji sesji. Wartość domyślna to 25.

Parametr MaxSessions odpowiada właściwości MaxShells konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-MaxSessionsPerUser

Ogranicza liczbę sesji używających konfiguracji sesji i uruchamianych przy użyciu poświadczeń danego użytkownika do określonej wartości. Wartość domyślna to 25.

Po określeniu tej wartości należy wziąć pod uwagę, że wielu użytkowników może używać poświadczeń jako "Uruchom jako użytkownik".

Parametr MaxSessionsPerUser odpowiada właściwości MaxShellsPerUser konfiguracji sesji.

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-OutputBufferingMode

Określa sposób zarządzania danymi wyjściowymi poleceń w rozłączonych sesjach, gdy bufor wyjściowy staje się pełny. Dopuszczalne wartości tego parametru to:

  • Block Gdy bufor wyjściowy jest pełny, wykonanie jest zawieszone do momentu wyczyszczenia buforu.
  • Drop Gdy bufor wyjściowy jest pełny, wykonywanie będzie kontynuowane. W miarę zapisywania nowych danych wyjściowych najstarsze dane wyjściowe są odrzucane.
  • None Nie określono trybu buforowania danych wyjściowych.

Wartość domyślna właściwości OutputBufferingMode sesji to Blokowanie.

Typ:Nullable<T>[OutputBufferingMode]
Dopuszczalne wartości:None, Drop, Block
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ProcessIdleTimeoutSec

Ogranicza limit czasu dla każdego procesu hosta do określonej wartości. Wartość domyślna, 0, oznacza, że nie ma wartości limitu czasu dla procesu.

Inne konfiguracje sesji mają wartości limitu czasu przypisane do każdego procesu. Na przykład konfiguracja sesji Microsoft.PowerShell.Workflow ma wartość limitu czasu dla procesu 28800 sekund (8 godzin).

Typ:Nullable<T>[Int32]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

None

Nie można potokować obiektów do tego polecenia cmdlet.

Dane wyjściowe

WSManConfigurationOption

Uwagi

  • Właściwości obiektu konfiguracji sesji różnią się w zależności od opcji ustawionych dla konfiguracji sesji i wartości tych opcji. Ponadto konfiguracje sesji korzystające z pliku konfiguracji sesji mają dodatkowe właściwości.