Modifica le proprietà di una configurazione di sessione registrata.

Sintassi

Set-PSSessionConfiguration [-AssemblyName] <string> [-ConfigurationTypeName] <string> [-Name] <string> [-ApplicationBase <string>] [-Force] [-MaximumReceivedDataSizePerCommandMB <double>] [-MaximumReceivedObjectSizeMB <double>] [-NoServiceRestart] [-SecurityDescriptorSDDL <string>] [-ShowSecurityDescriptorUI] [-StartupScript <string>] [-ThreadApartmentState {<STA> | <MTA> | <Unknown>}] [-ThreadOptions {<Default> | <UseNewThread> | <ReuseThread> | <UseCurrentThread>}] [-Confirm] [-WhatIf] [<CommonParameters>]

Descrizione

Il cmdlet Set-PSSessionConfiguration modifica le proprietà delle configurazioni di sessione registrate nel computer locale. Si tratta di un cmdlet avanzato progettato per essere utilizzato da amministratori di sistema per gestire le configurazioni di sessione personalizzate degli utenti.

Utilizzare il parametro Name per identificare la configurazione che si desidera modificare. Utilizzare gli altri parametri per specificare nuovi valori per le proprietà della configurazione di sessione. Per eliminare il valore di una proprietà dalla configurazione (e utilizzare il valore predefinito), immettere una stringa vuota ("") o un valore $null per il parametro corrispondente.

Per visualizzare le proprietà di una configurazione di sessione, utilizzare il cmdlet Get-PSSessionConfiguration o il provider WS-Management. Per ulteriori informazioni sul provider WS-Management, digitare "Get-Help wsman".

Parametri

-ApplicationBase <string>

Modifica il percorso del file di assembly (*.dll) specificato nel valore del parametro AssemblyName.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-AssemblyName <string>

Specifica un file di assembly diverso per la configurazione. Immettere il percorso (facoltativo) e il nome di un file di assembly (con estensione dll) che definisce il tipo di configurazione.

Se si immette solo il nome, è possibile immettere il percorso nel valore del parametro ApplicationBase.

Obbligatorio?

true

Posizione?

2

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ConfigurationTypeName <string>

Specifica un tipo di configurazione diverso per la configurazione. Il tipo specificato deve implementare la classe System.Management.Automation.Remoting.PSSessionConfiguration.

Se si immette "$null" o una stringa vuota, la classe DefaultRemotePowerShellConfiguration viene utilizzata per la configurazione di sessione.

Obbligatorio?

true

Posizione?

3

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Force

Elimina tutti i prompt dell'utente e riavvia il servizio Gestione remota Windows senza richieste. Con il riavvio del servizio la modifica della configurazione diventa effettiva.

Per impedire un riavvio ed eliminare il prompt di riavvio, utilizzare il parametro NoServiceRestart.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-MaximumReceivedDataSizePerCommandMB <double>

Modifica il limite sulla quantità di dati che è possibile inviare a questo computer in qualsiasi singolo comando remoto. Immettere le dimensioni dei dati in megabyte (MB). L'impostazione predefinita è 50 MB.

Se viene stabilito un limite nelle dimensioni dei dati nel tipo di configurazione specificato nel parametro ConfigurationTypeName, viene utilizzato il limite nel tipo di configurazione e il valore di questo parametro viene ignorato.

Obbligatorio?

false

Posizione?

named

Valore predefinito

50

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-MaximumReceivedObjectSizeMB <double>

Modifica il limite sulla quantità di dati che è possibile inviare a questo computer in qualsiasi singolo oggetto. Immettere le dimensioni dei dati in megabyte (MB). L'impostazione predefinita è 10 MB.

Se viene stabilito un limite per le dimensioni di un oggetto nel tipo di configurazione specificato nel parametro ConfigurationTypeName, viene utilizzato il limite nel tipo di configurazione e il valore di questo parametro viene ignorato.

Obbligatorio?

false

Posizione?

named

Valore predefinito

10

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Name <string>

Specifica il nome della configurazione di sessione che si desidera modificare.

Non è possibile utilizzare questo parametro per modificare il nome della configurazione di sessione.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-NoServiceRestart

Non riavvia il servizio Gestione remota Windows ed elimina il prompt per riavviare il servizio.

Per impostazione predefinita, quando si immette un comando Set-PSSessionConfiguration, viene richiesto di riavviare il servizio Gestione remota Windows per rendere effettiva la nuova configurazione di sessione. Finché il servizio Gestione remota Windows non viene riavviato, la nuova configurazione di sessione non è effettiva.

Per riavviare il servizio Gestione remota Windows senza visualizzare alcun prompt, utilizzare il parametro Force. Per riavviare manualmente il servizio Gestione remota Windows, utilizzare il cmdlet Restart-Service.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-SecurityDescriptorSDDL <string>

Specifica una stringa SDDL (Security Descriptor Definition Language) diversa per la configurazione.

Questa stringa determina le autorizzazioni necessarie per utilizzare la nuova configurazione di sessione. Per utilizzare una configurazione di sessione in una sessione, gli utenti devono disporre almeno dell'autorizzazione "Execute(Invoke)" per la configurazione.

Per utilizzare il descrittore di sicurezza predefinito per la configurazione, immettere una stringa vuota ("") o un valore $null. L'impostazione predefinita è la radice SDDL nell'unità WSMAN:.

Se il descrittore di sicurezza è complesso, si consideri l'utilizzo del parametro ShowSecurityDescriptorUI al posto di questo. Non è possibile utilizzare entrambi i parametri nello stesso comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ShowSecurityDescriptorUI

Visualizza una finestra delle proprietà che consente di creare un nuovo SDDL per la configurazione di sessione. La finestra delle proprietà viene visualizzata dopo l'immissione del comando Set-PSSessionConfiguration, quindi viene riavviato il servizio Gestione remota Windows.

Durante l'impostazione delle autorizzazioni per la configurazione, ricordare che gli utenti devono disporre almeno dell'autorizzazione "Execute(Invoke)" per utilizzare la configurazione di sessione in una sessione.

Non è possibile utilizzare questo parametro e il parametro SecurityDescriptorSDDL nello stesso comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-StartupScript <string>

Aggiunge o modifica lo script di avvio per la configurazione. Immettere il percorso completo di uno script di Windows PowerShell. Lo script specificato viene eseguito nella nuova sessione che utilizza la configurazione di sessione.

Per eliminare uno script di avvio da una configurazione di sessione, immettere una stringa vuota ("") o un valore $null.

È possibile utilizzare uno script di avvio per configurare ulteriormente la sessione dell'utente. Se lo script genera un errore (anche un errore non fatale), non viene creata la sessione e il comando New-PSSession dell'utente ha esito negativo.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ThreadApartmentState <ApartmentState>

Modifica l'impostazione dello stato dell'apartment per i thread nella sessione. I valori validi sono STA, MTA e Unknown. Il valore predefinito è Unknown.

Obbligatorio?

false

Posizione?

named

Valore predefinito

ApartmentState.Unknown

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-ThreadOptions <PSThreadOptions>

Modifica l'impostazione delle opzioni dei thread nella configurazione. Questa impostazione definisce la modalità di creazione e utilizzo dei thread quando viene eseguito un comando nella sessione. I valori validi sono Default, ReuseThread, UseCurrentThread e UseNewThread. Il valore predefinito è UseCurrentThread.

Obbligatorio?

false

Posizione?

named

Valore predefinito

PSThreadOptions.UserCurrentThread

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Confirm

Chiede una conferma prima di eseguire il comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-WhatIf

Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

Nessuno

Non è possibile reindirizzare l'input a questo cmdlet.

Output

Microsoft.WSMan.Management.WSManConfigLeafElement

Note

Per eseguire questo cmdlet in Windows Vista, Windows Server 2008 e nelle versioni successive di Windows, è necessario aprire Windows PowerShell con l'opzione "Esegui come amministratore".

Il cmdlet Set-PSSessionConfiguration non modifica il nome di configurazione e il provider WS-Management non supporta il cmdlet Rename-Item. Per modificare il nome di una configurazione, utilizzare il cmdlet Unregister-PSSessionConfiguration per eliminare la configurazione, quindi il cmdlet Register-PSSessionConfiguration per creare e registrare una nuova configurazione di sessione.

È possibile utilizzare il cmdlet Set-PSSessionConfiguration per modificare le configurazioni di sessione Microsoft.PowerShell e Microsoft.PowerShell32 predefinite. Non sono protette. Per tornare alla versione originale della configurazione di sessione predefinita, utilizzare il cmdlet Unregister-PSSessionConfiguration per eliminare la configurazione di sessione predefinita, quindi il cmdlet Enable-PSRemoting per ripristinarla.

Esempio 1

C:\PS>set-pssessionconfiguration -name MaintenanceShell -threadApartmentState STA

Descrizione
-----------
Con questo comando lo stato dell'apartment del thread nella configurazione MaintenanceShell viene impostato su STA. La modifica è effettiva quando si riavvia il servizio Gestione remota Windows.






Esempio 2

C:\PS>register-pssessionconfiguration -name AdminShell -assemblyName c:\shells\AdminShell.dll -configurationType AdminClass

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript AdminConfig.ps1

C:\PS> set-pssessionconfiguration -name AdminShell -startupScript $null

Descrizione
-----------
In questo esempio viene illustrato come creare e modificare una configurazione di sessione.

Nel primo comando viene utilizzato il cmdlet Register-PSSessionConfiguration per creare la configurazione AdminShell. 

Nel secondo comando viene utilizzato il cmdlet Set-PSSessionConfiguration per aggiungere lo script AdminConfig.ps1 alla configurazione. La modifica è effettiva quando si riavvia il servizio Gestione remota Windows.

Con il terzo comando viene rimosso lo script AdminConfig.ps1 dalla configurazione. Viene utilizzato il cmdlet Set-PSSessionConfiguration con un valore $null per il parametro StartupScript.






Esempio 3

C:\PS>Set-PSSessionConfiguration -name foo -MaximumReceivedObjectSizeMB 20

   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\foo\InitializationParameters

ParamName                       ParamValue
---------                       ----------
psmaximumreceivedobjectsizemb   20

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y

Descrizione
-----------
In questo esempio viene mostrato l'output di esempio per il cmdlet Set-PSSessionConfiguration. 

Il comando Set-PSSessionConfiguration in questo esempio consente di aumentare il valore della proprietà MaximumReceivedObjectSizeMB a 20. 

Il comando Set-PSSessionConfiguration restituisce un oggetto Microsoft.WSMan.Management.WSManConfigLeafElement che indica il nome del parametro e il nuovo valore.

Inoltre richiede all'utente di riavviare il servizio Gestione remota Windows. La modifica Set-PSSessionConfiguration non è effettiva finché il servizio Gestione remota Windows non viene riavviato.






Esempio 4

C:\PS>set-pssessionconfiguration -name MaintenanceShell -startupScript c:\ps-test\Maintenance.ps1


   WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin\MaintenanceShell\InitializationParameters

ParamName            ParamValue
---------            ----------
startupscript        c:\ps-test\Mainte...

"Restart WinRM service"
WinRM service need to be restarted to make the changes effective. Do you want to run the command "restart-service winrm"?
[Y] Yes  [N] No  [S] Suspend  [?] Help (default is "Y"): y


C:\PS> get-pssessionConfiguration maintenanceshell | format-list -property *

xmlns            : https://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
Name             : MaintenanceShell
Filename         : %windir%\system32\pwrshplugin.dll
SDKVersion       : 1
XmlRenderingType : text
lang             : en-US
PSVersion        : 2.0
startupscript    : c:\ps-test\Maintenance.ps1
ResourceUri      : https://schemas.microsoft.com/powershell/MaintenanceShell
SupportsOptions  : true
ExactMatch       : true
Capability       : {Shell}
Permission       :


C:\PS> dir wsman:\localhost\plugin\MaintenanceShell\InitializationParameters

ParamName     ParamValue
---------     ----------
PSVersion     2.0
startupscript c:\ps-test\Maintenance.ps1

Descrizione
-----------
Con questo comando vengono illustrati modi diversi per la visualizzazione dei risultati di un comando Set-PSSessionConfiguration.

Con il primo comando si utilizza il cmdlet Set-PSSessionConfiguration per modificare lo script di avvio nella configurazione MaintenanceShell in Sample.ps1. L'output di questo comando mostra la modifica e richiede all'utente di riavviare il servizio Gestione remota Windows. La risposta è "y" (sì).

Con il secondo comando si utilizza il cmdlet Get-PSSessionConfiguration per ottenere la configurazione di sessione MaintenanceShell. Con il comando si utilizza un operatore pipeline (|) per inviare i risultati del comando al cmdlet Format-List, in cui vengono visualizzate tutte le proprietà dell'oggetto configurazione di sessione in un elenco.

Con il terzo comando si utilizza il provider WS-Management per visualizzare i parametri di inizializzazione per la configurazione MaintenanceShell. Con il comando si utilizza il cmdlet Get-ChildItem (alias = dir) per ottenere gli elementi figlio nel nodo InitializationParameters per il plug-in MaintenanceShell.

Per ulteriori informazioni sul provider WS-Management, digitare "get-help wsman".






Vedere anche




Argomenti della Guida