New-PSTransportOption

Hiermee maakt u een object met geavanceerde opties voor een sessieconfiguratie.

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

De New-PSTransportOption cmdlet maakt een object dat transportopties voor sessieconfiguraties bevat. U kunt het object gebruiken als de waarde van de TransportOption-parameter van cmdlets die een sessieconfiguratie maken of wijzigen, zoals de Register-PSSessionConfiguration en Set-PSSessionConfiguration cmdlets.

U kunt ook de transportoptie-instellingen wijzigen door de waarden van de eigenschappen van de sessieconfiguratie in het station WSMan: te bewerken. Zie WSMan Provider voor meer informatie.

De sessieconfiguratieopties vertegenwoordigen de sessiewaarden die zijn ingesteld aan de serverzijde of het ontvangen van het einde van een externe verbinding. De clientzijde, of het verzenden van het einde van de verbinding, kan waarden voor sessieopties instellen wanneer de sessie wordt gemaakt, of wanneer de client verbinding met de sessie verbreekt of opnieuw verbinding maakt. Tenzij anders vermeld, hebben de waarden aan de clientzijde voorrang wanneer de instellingswaarden conflicteren. De waarden aan de clientzijde kunnen echter geen inbreuk maken op de maximumwaarden en quota die zijn ingesteld in de sessieconfiguratie.

Zonder parameters New-PSTransportOption genereert u een transportoptieobject met null-waarden voor alle opties. Als u een parameter weglaat, heeft het object een null-waarde voor de eigenschap die de parameter vertegenwoordigt. Een null-waarde heeft geen invloed op de sessieconfiguratie.

Zie voor meer informatie over sessieopties New-PSSessionOption. Zie about_Session_Configurations (Engelstalig) voor meer informatie over sessieconfiguraties.

Deze cmdlet is geïntroduceerd in Windows PowerShell 3.0.

Voorbeelden

Voorbeeld 1: Een standaard transportoptie genereren

New-PSTransportOption

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

Met deze opdracht wordt de New-PSTransportOption opdracht zonder parameters uitgevoerd. In de uitvoer ziet u dat de cmdlet een transportoptieobject genereert met null-waarden voor alle eigenschappen.

Voorbeeld 2: Opties voor sessieconfiguratie ophalen

In dit voorbeeld ziet u hoe u een transportoptiesobject gebruikt om opties voor sessieconfiguratie in te stellen.

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

De eerste opdracht maakt gebruik van de New-PSTransportOption cmdlet om een transportoptiesobject te maken, dat in de $t variabele wordt opgeslagen. De opdracht gebruikt de parameter MaxSessions om het maximum aantal sessies te verhogen tot 40.

De tweede opdracht maakt gebruik van de Register-PSSessionConfiguration cmdlet om de CONFIGURATIE van de ITTasks-sessie te maken. De opdracht gebruikt de parameter TransportOption om het object transportopties in de $t variabele op te geven.

De derde opdracht gebruikt de Get-PSSessionConfiguration cmdlet om de ITTasks-sessieconfiguraties op te halen en de Format-List cmdlet om alle eigenschappen van het sessieconfiguratieobject in een lijst weer te geven. In de uitvoer ziet u dat de waarde van de eigenschap MaxShells van de sessieconfiguratie 40 is.

Voorbeeld 3: Een transportoptie instellen

Met deze opdracht wordt het effect weergegeven van het instellen van een transportoptie in een sessieconfiguratie op de sessies die gebruikmaken van de sessieconfiguratie.

$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

De eerste opdracht maakt gebruik van de New-PSTransportOption cmdlet om een transportoptieobject te maken. De opdracht gebruikt de parameter IdleTimeoutSec om de eigenschapswaarde IdleTimeoutSec van het object in te stellen op één uur (3600 seconden). Met de opdracht wordt het object transportobjecten opgeslagen in de $t variabele.

De tweede opdracht gebruikt de Set-PSSessionConfiguration cmdlet om de transportopties van de ITTasks-sessieconfiguratie te wijzigen. De opdracht gebruikt de parameter TransportOption om het object transportopties in de $t variabele op te geven.

De derde opdracht gebruikt de New-PSSession cmdlet om de MyITTasks-sessie op de lokale computer te maken. De opdracht maakt gebruik van de eigenschap ConfigurationName om de configuratie van de ITTasks-sessie op te geven. Met de opdracht wordt de sessie opgeslagen in de variabele $s. U ziet dat de opdracht de parameter New-PSSession SessionOption niet gebruikt om een aangepaste time-out voor inactiviteit in te stellen voor de sessie. Als dit heted, heeft de inactieve time-outwaarde die is ingesteld in de sessieoptie voorrang op de time-out voor inactiviteit die is ingesteld in de sessieconfiguratie.

De vierde opdracht gebruikt de Format-List cmdlet om alle eigenschappen van de sessie in de $s variabele in een lijst weer te geven. De uitvoer laat zien dat de sessie een time-out van één uur inactief heeft (360.000 milliseconden).

Parameters

-IdleTimeoutSec

Bepaalt hoelang elke sessie open blijft als de externe computer geen communicatie van de lokale computer ontvangt. Dit omvat het heartbeatsignaal. Wanneer het interval verloopt, wordt de sessie gesloten.

De time-outwaarde voor inactiviteit is van groot belang wanneer de gebruiker de verbinding met een sessie wil verbreken en opnieuw verbinding wil maken. De gebruiker kan alleen opnieuw verbinding maken als er geen time-out optreedt voor de sessie.

De parameter IdleTimeoutSec komt overeen met de eigenschap IdleTimeoutMs van een sessieconfiguratie.

Voer een waarde in seconden in. De standaardwaarde is 7200 (2 uur). De minimumwaarde is 60 (1 minuut). Het maximum is de waarde van de eigenschap IdleTimeout van Shell-objecten in de WSMan-configuratie (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). De standaardwaarde is 7200000 milliseconden (2 uur).

Als een time-outwaarde voor inactiviteit is ingesteld in de sessieopties en in de sessieconfiguratie, heeft de waarde die is ingesteld in de sessieopties voorrang, maar de waarde van de eigenschap MaxIdleTimeoutMs van de sessieconfiguratie kan niet worden overschreden. Als u de waarde van de eigenschap MaxIdleTimeoutMs wilt instellen, gebruikt u de parameter MaxIdleTimeoutSec .

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

-MaxConcurrentCommandsPerSession

Beperkt het aantal opdrachten dat tegelijkertijd in elke sessie kan worden uitgevoerd tot de opgegeven waarde. De standaardwaarde is 1000.

De parameter MaxConcurrentCommandsPerSession komt overeen met de eigenschap MaxConcurrentCommandsPerShell van een sessieconfiguratie.

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

-MaxConcurrentUsers

Hiermee beperkt u het aantal gebruikers dat opdrachten tegelijk in elke sessie kan uitvoeren tot de opgegeven waarde. De standaardwaarde is 5.

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

-MaxIdleTimeoutSec

Hiermee wordt de time-out voor inactiviteit voor elke sessie beperkt tot de opgegeven waarde. De standaardwaarde is [Int]::MaxValue (~25 dagen).

De time-outwaarde voor inactiviteit is van groot belang wanneer de gebruiker de verbinding met een sessie wil verbreken en opnieuw verbinding wil maken. De gebruiker kan alleen opnieuw verbinding maken als er geen time-out optreedt voor de sessie.

De parameter MaxIdleTimeoutSec komt overeen met de eigenschap MaxIdleTimeoutMs van een sessieconfiguratie.

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

-MaxMemoryPerSessionMB

Beperkt het geheugen dat door elke sessie wordt gebruikt tot de opgegeven waarde. Voer een waarde in megabytes in. De standaardwaarde is 1024 megabytes (1 GB).

De parameter MaxMemoryPerSessionMB komt overeen met de eigenschap MaxMemoryPerShellMB van een sessieconfiguratie.

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

-MaxProcessesPerSession

Hiermee beperkt u het aantal processen dat in elke sessie wordt uitgevoerd tot de opgegeven waarde. De standaardwaarde is 15.

De parameter MaxProcessesPerSession komt overeen met de eigenschap MaxProcessesPerShell van een sessieconfiguratie.

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

-MaxSessions

Beperkt het aantal sessies dat gebruikmaakt van de sessieconfiguratie. De standaardwaarde is 25.

De parameter MaxSessions komt overeen met de eigenschap MaxShells van een sessieconfiguratie.

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

-MaxSessionsPerUser

Beperkt het aantal sessies dat de sessieconfiguratie gebruikt en wordt uitgevoerd met de referenties van een bepaalde gebruiker tot de opgegeven waarde. De standaardwaarde is 25.

Wanneer u deze waarde opgeeft, moet u er rekening mee houden dat veel gebruikers mogelijk de referenties van een run als gebruiker gebruiken.

De parameter MaxSessionsPerUser komt overeen met de eigenschap MaxShellsPerUser van een sessieconfiguratie.

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

-OutputBufferingMode

Bepaalt hoe opdrachtuitvoer wordt beheerd in niet-verbonden sessies wanneer de uitvoerbuffer vol raakt. De aanvaardbare waarden voor deze parameter zijn:

  • Block Wanneer de uitvoerbuffer vol is, wordt de uitvoering onderbroken totdat de buffer leeg is.
  • Drop Wanneer de uitvoerbuffer vol is, wordt de uitvoering voortgezet. Wanneer nieuwe uitvoer wordt opgeslagen, wordt de oudste uitvoer verwijderd.
  • None Er is geen uitvoerbuffermodus opgegeven.

De standaardwaarde van de eigenschap OutputBufferingMode van sessies is Block.

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

Beperkt de time-out voor elk hostproces tot de opgegeven waarde. De standaardwaarde, 0, betekent dat er geen time-outwaarde is voor het proces.

Andere sessieconfiguraties hebben time-outwaarden per proces. De sessieconfiguratie Microsoft.PowerShell.Workflow heeft bijvoorbeeld een time-outwaarde per proces van 28800 seconden (8 uur).

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

Invoerwaarden

None

U kunt geen objecten doorsluisen naar deze cmdlet.

Uitvoerwaarden

WSManConfigurationOption

Notities

  • De eigenschappen van een sessieconfiguratieobject variëren met de opties die zijn ingesteld voor de sessieconfiguratie en de waarden van deze opties. Daarnaast hebben sessieconfiguraties die gebruikmaken van een sessieconfiguratiebestand aanvullende eigenschappen.