Dela via


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 transportalternativ genom att redigera värdena för sessionskonfigurationsegenskaperna på WSMan:-enheten. Mer information finns i WSMan-provider.

Alternativen för sessionskonfiguration 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. För ytterligare information om sessionskonfigurationer, se about_Session_Configurations.

Denna cmdlet 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 har för avsikt att 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 7 200 (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 7200 000 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: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: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: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 har för avsikt att 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: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: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: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: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ör som-användare.

Parametern MaxSessionsPerUser motsvarar egenskapen MaxShellsPerUser för en sessionskonfiguration.

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

  • Blockera. När utdatabufferten är full pausas körningen tills bufferten är klar.
  • Släppa. När utdatabufferten är full fortsätter körningen. När nya utdata sparas ignoreras de äldsta utdata.
  • Inga. Inget utdatabuffertningsläge har angetts.

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

Type: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 timeout-värden per process. Sessionskonfigurationen Microsoft.PowerShell.Workflow har till exempel ett tidsgränsvärde per process på 2 8 800 sekunder (8 timmar).

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Indata

None

Du kan inte skicka indata till denna cmdlet.

Utdata

WSManConfigurationOption

Kommentarer

  • Egenskaperna för ett sessionskonfigurationsobjekt varierar beroende på vilka alternativ som angetts för sessionskonfigurationen och värdena för dessa alternativ. Dessutom har sessionskonfigurationer som använder en sessionskonfigurationsfil ytterligare egenskaper.