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 New-PSTransportOption
cmdlet 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 Register-PSSessionConfiguration
polecenia cmdlet 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, zobacz Dostawca WSMan.
Opcje konfiguracji sesji reprezentują wartości sesji ustawione po stronie serwera lub odbierające koniec połączenia zdalnego. Po stronie klienta lub wysłaniu końca połączenia można ustawić wartości opcji sesji podczas tworzenia sesji lub gdy klient rozłącza się z sesją lub ponownie łączy się 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 Informacje o konfiguracjach sesji.
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
parametry 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 New-PSTransportOption
polecenia cmdlet 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 Register-PSSessionConfiguration
polecenia cmdlet do utworzenia konfiguracji sesji ITTasks. Polecenie używa parametru TransportOption do określenia obiektu opcji transportu w zmiennej $t
.
Trzecie polecenie używa Get-PSSessionConfiguration
polecenia cmdlet , aby pobrać konfiguracje sesji ITTasks i Format-List
polecenie cmdlet, aby wyświetlić wszystkie 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 sesjach korzystających z konfiguracji sesji.
$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 New-PSTransportOption
polecenia cmdlet do utworzenia obiektu opcji transportu. Polecenie używa parametru IdleTimeoutSec, aby ustawić wartość właściwości IdleTimeoutSec obiektu na godzinę (3600 sekund). Polecenie zapisuje obiekt obiektów transportu w zmiennej $t
.
Drugie polecenie używa Set-PSSessionConfiguration
polecenia cmdlet , aby zmienić opcje transportu konfiguracji sesji ITTasks. Polecenie używa parametru TransportOption do określenia obiektu opcji transportu w zmiennej $t
.
Trzecie polecenie używa New-PSSession
polecenia cmdlet 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 SessionOption parametru , New-PSSession
aby ustawić niestandardowy limit 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 Format-List
polecenia cmdlet do wyświetlania wszystkich właściwości sesji w zmiennej na $s
liście. Dane wyjściowe pokazują, że sesja ma limit czasu bezczynności poza 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 upłynął limit czasu sesji.
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).
Wartość maksymalna to wartość 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 właściwości MaxIdleTimeoutMs 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. Domyślna wartość wynosi 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
(~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 upłynął limit czasu sesji.
Parametr MaxIdleTimeoutSec odpowiada właściwoś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ń 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 zapełniony, wykonywanie jest zawieszone do momentu, gdy bufor jest wyczyszczone.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 Blokuj.
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 dla 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.