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 .
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-MaxConcurrentUsers
Limita il numero di utenti che possono eseguire comandi contemporaneamente in ogni sessione al valore specificato. Il valore predefinito è 5.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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.
Tipo: | Nullable<T>[OutputBufferingMode] |
Valori accettati: | None, Drop, Block |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | 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).
Tipo: | Nullable<T>[Int32] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
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.