New-PSTransportOption

Skapar ett objekt som innehåller avancerade alternativ för en sessionskonfiguration.

Syntax

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

Description

Cmdleten New-PSTransportOption skapar ett objekt som innehåller transportalternativ för sessionskonfigurationer. Du kan använda objektet som värdet för parametern TransportOption för cmdletar som skapar eller ändrar en sessionskonfiguration, till exempel Register-PSSessionConfiguration cmdletarna och Set-PSSessionConfiguration .

Du kan också ändra inställningarna för transportalternativet genom att redigera värdena för sessionskonfigurationsegenskaperna på WSMan:-enheten. Mer information finns i WSMan-providern.

Konfigurationsalternativen för sessionen representerar de sessionsvärden som angetts på serversidan eller som tar emot slutet av en fjärranslutning. Klientsidan, eller sändningsslutet av anslutningen, kan ange sessionsalternativvärden när sessionen skapas, eller när klienten kopplar från eller återansluter till sessionen. Om inget annat anges har värdena på klientsidan företräde när inställningsvärdena står i konflikt. Värdena på klientsidan kan dock inte bryta mot de högsta värden och kvoter som angetts i sessionskonfigurationen.

Utan parametrar New-PSTransportOption genererar ett transportalternativobjekt som har null-värden för alla alternativ. Om du utelämnar en parameter har objektet ett null-värde för egenskapen som parametern representerar. Ett null-värde påverkar inte sessionskonfigurationen.

Mer information om sessionsalternativ finns i New-PSSessionOption. För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

Den här cmdleten introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Generera ett standardtransportalternativ

New-PSTransportOption

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

Det här kommandot kör parametrarna New-PSTransportOption utan. Utdata visar att cmdleten genererar ett transportalternativobjekt som har null-värden för alla egenskaper.

Exempel 2: Hämta konfigurationsalternativ för sessioner

Det här exemplet visar hur du använder ett transportalternativobjekt för att ange konfigurationsalternativ för sessioner.

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

Det första kommandot använder cmdleten New-PSTransportOption för att skapa ett transportalternativobjekt som sparas i variabeln $t . Kommandot använder parametern MaxSessions för att öka det maximala antalet sessioner till 40.

Det andra kommandot använder cmdleten Register-PSSessionConfiguration för att skapa ITTasks-sessionskonfigurationen. Kommandot använder parametern TransportOption för att ange transportalternativobjektet i variabeln $t .

Det tredje kommandot använder cmdleten Get-PSSessionConfiguration för att hämta ITTasks-sessionskonfigurationer och cmdleten Format-List för att visa alla egenskaper för sessionskonfigurationsobjektet i en lista. Utdata visar att värdet för egenskapen MaxShells för sessionskonfigurationen är 40.

Exempel 3: Ange ett transportalternativ

Det här kommandot visar effekten av att ange ett transportalternativ i en sessionskonfiguration på de sessioner som använder sessionskonfigurationen.

$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

Det första kommandot använder cmdleten New-PSTransportOption för att skapa ett transportalternativobjekt. Kommandot använder parametern IdleTimeoutSec för att ange objektets egenskapsvärde IdleTimeoutSec till en timme (3 600 sekunder). Kommandot sparar transportobjektobjektet i variabeln $t .

Det andra kommandot använder cmdleten Set-PSSessionConfiguration för att ändra transportalternativen för ITTasks-sessionskonfigurationen. Kommandot använder parametern TransportOption för att ange transportalternativobjektet i variabeln $t .

Det tredje kommandot använder cmdleten New-PSSession för att skapa MyITTasks-sessionen på den lokala datorn. Kommandot använder egenskapen ConfigurationName för att ange ITTasks-sessionskonfigurationen. Kommandot sparar sessionen i variabeln $s. Observera att kommandot inte använder parametern New-PSSession SessionOption för för att ange en anpassad tidsgräns för inaktivitet för sessionen. Om det gjorde det skulle det inaktiva timeout-värdet som anges i sessionsalternativet ha företräde framför tidsgränsen för inaktivitet i sessionskonfigurationen.

Det fjärde kommandot använder cmdleten Format-List för att visa alla egenskaper för sessionen i variabeln $s i en lista. Utdata visar att sessionen har en tidsgräns för inaktivitet på en timme (360 000 millisekunder).

Parametrar

-IdleTimeoutSec

Avgör hur länge varje session förblir öppen om fjärrdatorn inte tar emot någon kommunikation från den lokala datorn. Detta inkluderar pulsslagssignalen. När intervallet upphör att gälla stängs sessionen.

Tidsgränsvärdet för inaktivitet är av stor betydelse när användaren tänker koppla från och återansluta till en session. Användaren kan bara återansluta om sessionen inte har överskridit tidsgränsen.

Parametern IdleTimeoutSec motsvarar egenskapen IdleTimeoutMs för en sessionskonfiguration.

Ange ett värde i sekunder. Standardvärdet är 7200 (2 timmar). Minimivärdet är 60 (1 minut). Maxvärdet är värdet för egenskapen IdleTimeout för Shell-objekt i WSMan-konfigurationen (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). Standardvärdet är 7200000 millisekunder (2 timmar).

Om ett timeout-värde för inaktivitet anges i sessionsalternativen och i sessionskonfigurationen prioriteras värdet som anges i sessionsalternativen, men det får inte överskrida värdet för egenskapen MaxIdleTimeoutMs för sessionskonfigurationen. Om du vill ange värdet för egenskapen MaxIdleTimeoutMs använder du parametern MaxIdleTimeoutSec .

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxConcurrentCommandsPerSession

Begränsar antalet kommandon som kan köras samtidigt i varje session till det angivna värdet. Standardvärdet är 1000.

Parametern MaxConcurrentCommandsPerSession motsvarar egenskapen MaxConcurrentCommandsPerShell för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxConcurrentUsers

Begränsar antalet användare som kan köra kommandon samtidigt i varje session till det angivna värdet. Standardvärdet är 5.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxIdleTimeoutSec

Begränsar tidsgränsen för inaktivitet för varje session till det angivna värdet. Standardvärdet är [Int]::MaxValue (~25 dagar).

Tidsgränsvärdet för inaktivitet är av stor betydelse när användaren tänker koppla från och återansluta till en session. Användaren kan bara återansluta om sessionen inte har överskridit tidsgränsen.

Parametern MaxIdleTimeoutSec motsvarar egenskapen MaxIdleTimeoutMs för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxMemoryPerSessionMB

Begränsar det minne som används av varje session till det angivna värdet. Ange ett värde i megabyte. Standardvärdet är 1 024 megabyte (1 GB).

Parametern MaxMemoryPerSessionMB motsvarar egenskapen MaxMemoryPerShellMB för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxProcessesPerSession

Begränsar antalet processer som körs i varje session till det angivna värdet. Standardvärdet är 15.

Parametern MaxProcessesPerSession motsvarar egenskapen MaxProcessesPerShell för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxSessions

Begränsar antalet sessioner som använder sessionskonfigurationen. Standardvärdet är 25.

Parametern MaxSessions motsvarar egenskapen MaxShells för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-MaxSessionsPerUser

Begränsar antalet sessioner som använder sessionskonfigurationen och körs med autentiseringsuppgifterna för en viss användare till det angivna värdet. Standardvärdet är 25.

När du anger det här värdet bör du tänka på att många användare kanske använder autentiseringsuppgifterna för en körning som användare.

Parametern MaxSessionsPerUser motsvarar egenskapen MaxShellsPerUser för en sessionskonfiguration.

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-OutputBufferingMode

Avgör hur kommandoutdata hanteras i frånkopplade sessioner när utdatabufferten blir full. De acceptabla värdena för den här parametern är:

  • Block När utdatabufferten är full pausas körningen tills bufferten är klar.
  • Drop När utdatabufferten är full fortsätter körningen. När nya utdata sparas ignoreras de äldsta utdata.
  • None Inget utdatabuffertningsläge har angetts.

Standardvärdet för egenskapen OutputBufferingMode för sessioner är Blockera.

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

Begränsar tidsgränsen för varje värdprocess till det angivna värdet. Standardvärdet 0 innebär att det inte finns något timeout-värde för processen.

Andra sessionskonfigurationer har tidsgränsvärden per process. Sessionskonfigurationen Microsoft.PowerShell.Workflow har till exempel ett timeout-värde per process på 2 8800 sekunder (8 timmar).

Type:Nullable<T>[Int32]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Indata

None

Du kan inte skicka objekt till den här cmdleten.

Utdata

WSManConfigurationOption

Kommentarer

  • Egenskaperna för ett sessionskonfigurationsobjekt varierar med de alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Sessionskonfigurationer som använder en sessionskonfigurationsfil har dessutom ytterligare egenskaper.