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
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.