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 cmdletarna Register-PSSessionConfiguration 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 genererar New-PSTransportOption 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. Mer information om sessionskonfigurationer finns i about_Session_Configurations.

Den här cmdleten introducerades i Windows PowerShell 3.0.

Exempel

Exempel 1: Generera ett standardtransportalternativ

PS C:\> New-PSTransportOption
ProcessIdleTimeoutSec           :
MaxIdleTimeoutSec               :
MaxSessions                     :
MaxConcurrentCommandsPerSession :
MaxSessionsPerUser              :
MaxMemoryPerSessionMB           :
MaxProcessesPerSession          :
MaxConcurrentUsers              :
IdleTimeoutSec                  :
OutputBufferingMode             :

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

Exempel 2: Hämta konfigurationsalternativ för sessioner

The first command uses the **New-PSTransportOption** cmdlet to create a transport options object, which it saves in the $t variable. The command uses the *MaxSessions* parameter to increase the maximum number of sessions to 40.
PS C:\> $t = New-PSTransportOption -MaxSessions 40

The second command uses the **Register-PSSessionConfiguration** cmdlet create the ITTasks session configuration. The command uses the *TransportOption* parameter to specify the transport options object in the $t variable.
PS C:\> Register-PSSessionConfiguration -Name ITTasks -TransportOption $t

The third command uses the Get-PSSessionConfiguration cmdlet to get the ITTasks session configurations and the Format-List cmdlet to display all of the properties of the session configuration object in a list. The output shows that the value of the **MaxShells** property of the session configuration is 40.
PS C:\> Get-PSSessionConfiguration -Name ITTasks | Format-List -Property *
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : https://schemas.microsoft.com/powershell/ITTasks
MaxConcurrentCommandsPerShell : 1000
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : https://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 här exemplet visar hur du använder ett transportalternativobjekt för att ange konfigurationsalternativ för sessioner.

Exempel 3: Ange ett transportalternativ

The first command uses the **New-PSTransportOption** cmdlet to create a transport option object. The command uses the *IdleTimeoutSec* parameter to set the **IdleTimeoutSec** property value of the object to one hour (3600 seconds). The command saves the transport objects object in the $t variable.
PS C:\> $t = New-PSTransportOption -IdleTimeoutSec 3600

The second command uses the Set-PSSessionConfiguration cmdlet to change the transport options of the ITTasks session configuration. The command uses the *TransportOption* parameter to specify the transport options object in the $t variable.
PS C:\> Set-PSSessionConfiguration -Name ITTasks -TransportOption $t

The third command uses the New-PSSession cmdlet to create the MyITTasks session on the local computer. The command uses the **ConfigurationName** property to specify the ITTasks session configuration. The command saves the session in the $s variable.Notice that the command does not use the *SessionOption* parameter of **New-PSSession** to set a custom idle time-out for the session. If it did, the idle time-out value set in the session option would take precedence over the idle time-out set in the session configuration.
PS C:\> $s = New-PSSession -Name MyITTasks -ConfigurationName ITTasks

The fourth command uses the Format-List cmdlet to display all properties of the session in the $s variable in a list. The output shows that the session has an idle time-out of one hour (360,000 milliseconds).
PS C:\> $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 här kommandot visar effekten av att ange ett transportalternativ i en sessionskonfiguration på de sessioner som använder sessionskonfigurationen.

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). Det högsta vä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 MaxIdleTimeoutMs egenskap för sessionskonfigurationen. Om du vill ange värdet för egenskapen MaxIdleTimeoutMs använder du parametern MaxIdleTimeoutSec.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-MaxConcurrentCommandsPerSession

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

Parametern MaxConcurrentCommandsPerSession motsvarar egenskapen MaxConcurrentCommandsPerShell för en sessionskonfiguration.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-MaxSessions

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

Parametern MaxSessions motsvarar egenskapen MaxShells för en sessionskonfiguration.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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.

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-OutputBufferingMode

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

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

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

Typ:OutputBufferingMode
Godkända värden:None, Drop, Block
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken: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. Till exempel har Microsoft.PowerShell.Workflow sessionskonfiguration ett tidsgränsvärde per process på 2 8800 sekunder (8 timmar).

Typ:Int32
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

Indata

None

Du kan inte skicka indata 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.