New-PSTransportOption

Crea un oggetto che contiene le opzioni avanzate per una configurazione di sessione.

Sintassi

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

Descrizione

Il New-PSTransportOption cmdlet crea un oggetto che contiene le opzioni di trasporto per le configurazioni di sessione. È possibile usare l'oggetto come valore del parametro TransportOption dei cmdlet che creano o modificano una configurazione di sessione, ad esempio i Register-PSSessionConfiguration cmdlet e Set-PSSessionConfiguration .

È anche possibile modificare le impostazioni delle opzioni di trasporto modificando i valori delle proprietà della configurazione di sessione nell'unità WSMan:. Per altre informazioni, vedere Provider WSMan.

Le opzioni di configurazione della sessione rappresentano i valori di sessione impostati sul lato server o la ricezione di una connessione remota. Il lato client, o l'invio della fine della connessione, può impostare i valori delle opzioni di sessione quando viene creata la sessione oppure quando il client si disconnette o si riconnette alla sessione. Se non specificato diversamente, quando si verifica un conflitto tra i valori delle impostazioni, avranno la precedenza i valori sul lato client. Tuttavia, i valori sul lato client non possono violare le quote e i valori massimi impostati nella configurazione di sessione.

Senza parametri, New-PSTransportOption genera un oggetto opzione di trasporto con valori Null per tutte le opzioni. Se si omette un parametro, l'oggetto avrà un valore null per la proprietà rappresentata dal parametro. Un valore Null non influisce sulla configurazione della sessione.

Per altre informazioni sulle opzioni di sessione, vedere New-PSSessionOption. Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.

Questo cmdlet è stato introdotto in Windows PowerShell 3.0.

Esempio

Esempio 1: Generare un'opzione di trasporto predefinita

New-PSTransportOption

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

Questo comando esegue senza New-PSTransportOption parametri. L'output mostra che il cmdlet genera un oggetto opzione di trasporto con valori Null per tutte le proprietà.

Esempio 2: Ottenere le opzioni di configurazione della sessione

In questo esempio viene illustrato come utilizzare un oggetto opzioni di trasporto per impostare le opzioni di configurazione della sessione.

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

Il primo comando usa il New-PSTransportOption cmdlet per creare un oggetto opzioni di trasporto, che salva nella $t variabile . Il comando usa il parametro MaxSessions per aumentare il numero massimo di sessioni a 40.

Il secondo comando usa il Register-PSSessionConfiguration cmdlet per creare la configurazione della sessione ITTasks. Il comando usa il parametro TransportOption per specificare l'oggetto opzioni di trasporto nella $t variabile .

Il terzo comando usa il Get-PSSessionConfiguration cmdlet per ottenere le configurazioni di sessione ITTasks e il Format-List cmdlet per visualizzare tutte le proprietà dell'oggetto di configurazione della sessione in un elenco. L'output mostra che il valore della proprietà MaxShells della configurazione della sessione è 40.

Esempio 3: Impostazione di un'opzione di trasporto

Questo comando mostra l'effetto dell'impostazione di un'opzione di trasporto in una configurazione di sessione per le sessioni che usano la configurazione di sessione.

$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

Il primo comando usa il New-PSTransportOption cmdlet per creare un oggetto opzione di trasporto. Il comando usa il parametro IdleTimeoutSec per impostare il valore della proprietà IdleTimeoutSec dell'oggetto su un'ora (3600 secondi). Il comando salva l'oggetto oggetti di trasporto nella $t variabile .

Il secondo comando usa il Set-PSSessionConfiguration cmdlet per modificare le opzioni di trasporto della configurazione della sessione ITTasks. Il comando usa il parametro TransportOption per specificare l'oggetto opzioni di trasporto nella $t variabile .

Il terzo comando usa il New-PSSession cmdlet per creare la sessione MyITTasks nel computer locale. Il comando usa la proprietà ConfigurationName per specificare la configurazione della sessione ITTasks. Il comando salva la sessione nella variabile $s. Si noti che il comando non usa il parametro SessionOption di New-PSSession per impostare un timeout di inattività personalizzato per la sessione. In caso affermativo, il valore di timeout di inattività impostato nell'opzione di sessione avrebbe la precedenza sul timeout di inattività impostato nella configurazione della sessione.

Il quarto comando usa il Format-List cmdlet per visualizzare tutte le proprietà della sessione nella $s variabile in un elenco. L'output mostra che la sessione ha un timeout di inattività di un'ora (360.000 millisecondi).

Parametri

-IdleTimeoutSec

Determina per quanto tempo ogni sessione rimane aperta se il computer remoto non riceve alcuna comunicazione dal computer locale. Ciò include il segnale heartbeat. Alla scadenza dell'intervallo, la sessione si chiude.

Il valore di timeout di inattività è di importanza significativa quando l'utente intende disconnettersi e riconnettersi a una sessione. L'utente può riconnettersi solo se la sessione non è scaduta.

Il parametro IdleTimeoutSec corrisponde alla proprietà IdleTimeoutMs di una configurazione di sessione.

Immettere un valore in secondi. Il valore predefinito è 7200 (2 ore). Il valore minimo è 60 (1 minuto). Il valore massimo è il valore della proprietà IdleTimeout degli oggetti Shell nella configurazione WSMan (WSMan:\\\<ComputerName\>\Shell\IdleTimeout). Il valore predefinito è 7200000 millisecondi (2 ore).

Se viene impostato un valore di timeout di inattività nelle opzioni di sessione e nella configurazione della sessione, il valore impostato nelle opzioni di sessione ha la precedenza, ma non può superare il valore della proprietà MaxIdleTimeoutMs della configurazione della sessione. Per impostare il valore della proprietà MaxIdleTimeoutMs , utilizzare il parametro MaxIdleTimeoutSec .

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

-MaxConcurrentCommandsPerSession

Limita il numero di comandi che possono essere eseguiti contemporaneamente in ogni sessione al valore specificato. Il valore predefinito è 1000.

Il parametro MaxConcurrentCommandsPerSession corrisponde alla proprietà MaxConcurrentCommandsPerShell di una configurazione di sessione.

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

-MaxConcurrentUsers

Limita il numero di utenti che possono eseguire comandi contemporaneamente in ogni sessione al valore specificato. Il valore predefinito è 5.

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

-MaxIdleTimeoutSec

Limita il timeout di inattività impostato per ogni sessione al valore specificato. Il valore predefinito è [Int]::MaxValue (~25 giorni).

Il valore di timeout di inattività è di importanza significativa quando l'utente intende disconnettersi e riconnettersi a una sessione. L'utente può riconnettersi solo se la sessione non è scaduta.

Il parametro MaxIdleTimeoutSec corrisponde alla proprietà MaxIdleTimeoutMs di una configurazione di sessione.

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

-MaxMemoryPerSessionMB

Limita la memoria usata da ogni sessione al valore specificato. Immettere un valore in megabyte. Il valore predefinito è 1024 megabyte (1 GB).

Il parametro MaxMemoryPerSessionMB corrisponde alla proprietà MaxMemoryPerShellMB di una configurazione di sessione.

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

-MaxProcessesPerSession

Limita il numero di processi in esecuzione in ogni sessione al valore specificato. Il valore predefinito è 15.

Il parametro MaxProcessesPerSession corrisponde alla proprietà MaxProcessesPerShell di una configurazione di sessione.

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

-MaxSessions

Limita il numero di sessioni che usano la configurazione di sessione. Il valore predefinito è 25.

Il parametro MaxSessions corrisponde alla proprietà MaxShells di una configurazione di sessione.

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

-MaxSessionsPerUser

Limita il numero di sessioni che usano la configurazione di sessione e che vengono eseguite con le credenziali di un determinato utente al valore specificato. Il valore predefinito è 25.

Quando si specifica questo valore, tenere presente che molti utenti potrebbero usare le credenziali di un'esecuzione come utente.

Il parametro MaxSessionsPerUser corrisponde alla proprietà MaxShellsPerUser di una configurazione di sessione.

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

-OutputBufferingMode

Determina la modalità di gestione dell'output del comando nelle sessioni disconnesse quando il buffer di output diventa pieno. I valori validi per questo parametro sono:

  • Block Quando il buffer di output è pieno, l'esecuzione viene sospesa fino a quando il buffer non viene cancellato.
  • Drop Quando il buffer di output è pieno, l'esecuzione continua. Man mano che viene salvato il nuovo output, l'output meno recente viene eliminato.
  • None Non è specificata alcuna modalità di buffering di output.

Il valore predefinito della proprietà OutputBufferingMode delle sessioni è 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

Limita il timeout per ogni processo host al valore specificato. Il valore predefinito 0 indica che non esiste alcun valore di timeout per il processo.

Altre configurazioni di sessione hanno valori di timeout per processo. Ad esempio, la configurazione della sessione Microsoft.PowerShell.Workflow ha un valore di timeout per processo di 28800 secondi (8 ore).

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

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

WSManConfigurationOption

Note

  • Le proprietà di un oggetto configurazione di sessione variano in base alle opzioni impostate per la configurazione di sessione e ai valori di queste opzioni. Le configurazioni di sessione che usano un file di configurazione della sessione hanno anche proprietà aggiuntive.