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