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 .

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.

Type:Nullable<T>[OutputBufferingMode]
Accepted values:None, Drop, Block
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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).

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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.