ARGOMENTO
about_Session_Configurations
DESCRIZIONE BREVE
Descrive le configurazioni di sessione che determinano gli utenti
che possono connettersi al computer in modalità remota e i comandi che
possono eseguire.
DESCRIZIONE DETTAGLIATA
Una configurazione di sessione è un gruppo di impostazioni del
computer locale che definiscono l'ambiente per le sessioni di
Windows PowerShell create quando utenti remoti si connettono al
computer locale.
Gli amministratori del computer possono utilizzare le
configurazioni di sessione per proteggere il computer e definire
ambienti personalizzati per gli utenti che si connettono al computer.
Gli amministratori possono anche utilizzare le configurazioni di
sessione per determinare le autorizzazioni richieste per
connettersi al computer in modalità remota. Per impostazione
predefinita, solo i membri del gruppo Administrators sono
autorizzati a utilizzare la configurazione di sessione per la
connessione remota. Tuttavia è possibile modificare le
impostazioni predefinite per consentire a tutti gli utenti, o a
utenti selezionati, di connettersi al computer in modalità remota.
Le configurazioni di sessione sono una funzionalità di
comunicazione remota di Windows PowerShell basata su
Gestione remota Windows (WS-Management). Vengono utilizzate solo quando si utilizzano i
cmdlet New-PSSession, Invoke-Command o Enter-PSSession per
connettersi a un computer remoto.
Nota: per gestire le configurazioni di sessione in un computer
che esegue Windows Vista, Windows Server 2008 o una versione
successiva di Windows, avviare Windows PowerShell con l'opzione
"Esegui come amministratore".
Informazioni sulle configurazioni di sessione
Ogni sessione di Windows PowerShell utilizza una configurazione
di sessione. Questa configurazione include le sessioni permanenti
che si creano mediante i cmdlet New-PSSession o Enter-PSSession e
le sessioni temporanee create da Windows PowerShell quando si
utilizza il parametro ComputerName di un cmdlet che utilizza la
tecnologia di comunicazione remota basata su WS-Management, ad esempio
Invoke-Command.
Gli amministratori possono utilizzare le configurazioni di
sessione per proteggere le risorse del computer e creare ambienti
personalizzati per gli utenti che si connettono al computer. Ad
esempio, è possibile utilizzare una configurazione di sessione
per limitare le dimensioni degli oggetti che il computer riceve
nella sessione, per definire la modalità linguaggio della
sessione e specificare cmdlet, provider e funzioni disponibili
nella sessione.
Configurando il descrittore di protezione di una sessione di
configurazione, si termina chi può utilizzare la configurazione
di sessione per connettersi al computer. Gli utenti devono disporre
dell'autorizzazione Execute per una sessione di configurazione per
utilizzarla in una sessione.
Se un utente non dispone delle autorizzazioni necessarie per
utilizzare una qualsiasi delle configurazioni di sessione in un
computer, non può connettersi in modalità remota al computer.
Per impostazione predefinita, solo gli amministratori di un
gruppo sono autorizzati a utilizzare le configurazioni di
sessione predefinite, ma è possibile modificare i descrittori di
sicurezza per consentire a chiunque, a nessuno o solo agli utenti
selezionati di utilizzare le configurazioni di sessione nel computer.
Configurazioni di sessione predefinite.
Windows PowerShell include una configurazione di sessione
predefinita denominata Microsoft.PowerShell. Nei computer che
eseguono versioni a 64 bit di Windows, Windows PowerShell
fornisce anche Microsoft.PowerShell32, una configurazione di
sessione a 32 bit.
Queste configurazioni di sessione vengono utilizzate per le
sessioni predefinite, ossia quando un comando di creazione di una
sessione non include il parametro ConfigurationName dei cmdlet
New-PSSession, Enter-PSSession o Invoke-Command.
I descrittori di sicurezza per le configurazioni di sessione
predefinite consentono solo ai membri del gruppo Administrators
dei computer locale di utilizzarle. Pertanto, solo i membri del
gruppo Administrators possono connettersi al computer in modalità
remota a meno che non si modifichino le impostazioni predefinite.
È possibile modificare le configurazioni di sessione predefinite
utilizzando la variabile di preferenza $PSSessionConfigurationName.
Per ulteriori informazioni, vedere about_Preference_Variables.
Visualizzazione delle configurazioni di sessione nel computer locale
Per ottenere le configurazioni di sessione nel computer locale,
utilizzare il cmdlet Get-PSSessionConfiguration.
Ad esempio, digitare:
C:\PS> get-pssessionconfiguration | format-list -property
name, permission
Name : microsoft.powershell
Permission : BUILTIN\Administrators AccessAllowed
Name : microsoft.powershell32
Permission : BUILTIN\Administrators AccessAllowed
È anche possibile utilizzare il provider di Gestione remota
Windows (WS-Management) in Windows PowerShell per visualizzare le
configurazioni di sessione. Il provider di Gestione remota
Windows (WS-Management) crea un'unità WSMAN: nella sessione.
Nell'unità WSMAN:, le configurazioni di sessione si trovano nel
nodo Plugin (tutte le configurazioni di sessione si trovano nel
nodo Plugin ma sono presenti elementi nel nodo Plugin che non
sono configurazioni di sessione).
Ad esempio, per visualizzare le configurazioni di sessione nel
computer locale, digitare:
C:\PS> dir wsman:\localhost\plugin\microsoft*
WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin
Name Type Keys
---- ---- ----
microsoft.powershell Container {Name=microsoft.powershell}
microsoft.powershell32 Container {Name=microsoft.powershell}
Visualizzazione delle configurazioni di sessione in un computer
remoto Per visualizzare le configurazioni di sessione in un computer
remoto, utilizzare il cmdlet Connect-WSMan per aggiungere una nota
per il computer remoto all'unità WSMAN: nel computer locale, quindi
utilizzare l'unità WSMAN: per visualizzare le configurazioni di sessione.
Ad esempio, il comando seguente aggiunge un nodo per il computer
remoto Server01 all'unità WSMAN: nel computer locale.
C:\PS> connect-wsman server01.corp.fabrikam.com
Al completamento del comando, è possibile spostarsi sul nodo del
computer Server01 per visualizzare le configurazioni di sessione.
Ad esempio:
C:\PS> cd wsman:
PS WSMan:\> dir
ComputerName Type
------------ ----
localhost Container
server01.corp.fabrikam.com Container
PS WSMan:\> dir server01*\plugin\*
WSManConfig: Microsoft.WSMan.Management\WSMan::server01.corp.fabrikam.com\Plugin
Name Type Keys
---- ---- ----
microsoft.powershell Container {Name=microsoft.powershell}
microsoft.powershell32 Container {Name=microsoft.powershell32}
Modifica del descrittore di sicurezza di una configurazione di
sessione
Per impostazione predefinita, i membri del gruppo
Administrators nel computer dispongono dell'autorizzazione Execute
sulle configurazioni di sessione predefinite ma è possibile
modificare i descrittori di sicurezza nelle configurazioni di
sessione predefinite e in qualsiasi configurazione di sessione che
si crea.
Per fornire agli altri utenti l'autorizzazione a connettersi al
computer in modalità remota, utilizzare il cmdlet Set-PSSessionCon
figuration per aggiungere autorizzazioni "Execute" per tali
utenti ai descrittori di sicurezza delle configurazioni di sessione
Microsoft.PowerShell e Microsoft.PowerShell32.
Il comando seguente, ad esempio, apre una pagina delle proprietà
e consente di modificare il descrittore di sicurezza per la
configurazione di sessione predefinita Microsoft.PowerShell.
C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -
showSecurityDescriptorUI
Per negare a tutti l'autorizzazione su tutte le configurazioni di
sessione nel computer, utilizzare la funzione Disable-PSRemoting
o il cmdlet Disable-PSSessionConfiguration. Il comando seguente,
ad esempio, aggiunge una voce "Deny All" a tutte le
configurazioni di sessione nel computer.
C:\PS> disable-psremoting
Per aggiungere una voce "Deny All" a una particolare
configurazione di sessione, utilizzare il cmdlet Disable-PSSession
Configuration. Il comando seguente, ad esempio, aggiungono una
voce "Deny All" alla configurazione di sessione Microsoft.PowerShell.
C:\PS> disable-pssessionConfiguration -name Microsoft.PowerShell
Per rimuovere la voce "Deny All" da tutte le configurazioni di
sessione, utilizzare il cmdlet Enable-PSRemoting o
Enable-PSSessionConfiguration. Il comando seguente, ad esempio,
rimuove la voce "Deny All" dalle configurazioni di sessione predefinite.
C:\PS> enable-pssessionConfiguration -name Microsoft.Power*
Per apportare altre modifiche al descrittore di sicurezza di una
configurazioni di sessione, utilizzare il cmdlet
Set-PSSessionConfiguration. Utilizzare il parametro SecurityDescriptorSDDL
per inviare un valore di stringa SDDL. Utilizzare il parametro
ShowSecurityDescriptorUI per visualizzare una finestra delle proprietà
dell'interfaccia utente che consente di creare un nuovo SDDL.
Ad esempio:
C:\PS> set-pssessionConfiguration -name Microsoft.PowerShell -
showSecurityDescriptorUI
Creazione di una nuova configurazione di sessione
Per creare una nuova configurazione di sessione nel computer
locale, utilizzare il cmdlet Register-PSSessionConfiguration. Per
definire la nuova configurazione di sessione, è possibile
utilizzare un assembly C#, uno script Window PowerShell e i
parametri del cmdlet Register-PSSessionConfiguration.
Ad esempio, il comando seguente crea una configurazione di
sessione identica alla configurazione di sessione
Microsoft.PowerShell, tranne per il fatto che limita i dati
ricevuti da un comando remoto a 20 megabyte (MB). (L'impostazione predefinita è 50 MB).
c:\PS> register-psSessionConfiguration -name NewConfig --
MaximumReceivedDataSizePerCommandMB 20
Quando si crea una configurazione di sessione, è possibile
gestirla tramite i cmdlet di un'altra sessione di configurazione
e visualizzarla nell'unità WSMAN:.
Per ulteriori informazioni, vedere Register-PSSessionConfiguration.
Rimozione di una configurazione di sessione
Per rimuovere una configurazione di sessione dal computer locale,
utilizzare il cmdlet Unregister-PSSessionConfiguration. Il
comando seguente, ad esempio, rimuove la configurazione di
sessione NewConfig dal computer.
c:\PS> unregister-psSessionConfiguration -name NewConfig
Per ulteriori informazioni, vedere Unregister-PSSessionConfiguration.
Selezione di una configurazione di sessione
Per selezionare una configurazione di sessione particolare per
una sessione, utilizzare il parametro ConfigurationName di
New-PSSession, Enter-PSSession o Invoke-Command.
Questo comando, ad esempio, utilizza il cmdlet New-PSSession per
avviare una sessione PSSession nel computer Server01. Il comando
utilizza il parametro ConfigurationName per selezionare la
configurazione WithProfile nel computer Server01.
C:\PS> new-pssession -computername Server01 -configurationName
WithProfile
Questo comando ha esito positivo solo se l'utente corrente è
autorizzato a utilizzare la configurazione di sessione
WithProfile oppure può fornire le credenziali di un utente che
dispone delle autorizzazioni richieste.
È anche possibile utilizzare la variabile di preferenza
$PSSessionConfigurationName per modificare la configurazioni di
sessione predefinita nel computer. Per ulteriori informazioni
sulla variabile di preferenza $PSSessionConfigurationName, vedere
about_Preference_Variables.
VEDERE ANCHE
about_Preference_Variables
about_PSSession
about_Remote
New-PSSession
Disable-PSSessionConfiguration
Enable-PSSessionConfiguration
Get-PSSessionConfiguration
Register-PSSessionConfiguration
Set-PSSessionConfiguration
Unregister-PSSessionConfiguration