Condividi tramite


Get-PSSessionConfiguration

Ottiene le configurazioni di sessione registrate nel computer.

Sintassi

Get-PSSessionConfiguration
   [[-Name] <String[]>]
   [-Force]
   [<CommonParameters>]

Descrizione

Il cmdlet Get-PSSessionConfiguration ottiene le configurazioni di sessione registrate nel computer locale. Si tratta di un cmdlet avanzato progettato per essere usato dagli amministratori di sistema per gestire configurazioni di sessione personalizzate per gli utenti.

A partire da PowerShell 3.0, è possibile definire le proprietà di una configurazione di sessione usando un file di configurazione sessione (pssc). Questa funzionalità consente di creare sessioni personalizzate e limitate senza scrivere un programma per computer. Per altre informazioni sui file di configurazione della sessione, vedere about_Session_Configuration_Files.

Inoltre, a partire da PowerShell 3.0, sono state aggiunte nuove proprietà note all'oggetto di configurazione della sessione che Get-PSSessionConfiguration restituisce. Queste proprietà semplificano l'esame e il confronto delle configurazioni di sessione da parte degli utenti e degli autori di configurazioni di sessione.

Per creare e registrare una configurazione di sessione, usare il cmdlet Register-PSSessionConfiguration. Per altre informazioni sulle configurazioni di sessione, vedere about_Session_Configurations.

Esempio

Esempio 1- Ottenere le configurazioni di sessione nel computer locale

Get-PSSessionConfiguration

Esempio 2: ottenere le due configurazioni di sessione predefinite

Il comando usa il parametro nome di Get-PSSessionConfiguration per ottenere solo le configurazioni di sessione con nomi che iniziano con "Microsoft".

Get-PSSessionConfiguration -Name Microsoft*

Name                      PSVersion  StartupScript        Permission
----                      ---------  -------------        ----------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll...
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll...

Esempio 3: ottenere le proprietà e i valori di una configurazione di sessione

Questo esempio mostra le proprietà e i valori delle proprietà di una configurazione di sessione creata usando un file di configurazione della sessione.

Get-PSSessionConfiguration -Name Full  | Format-List -Property *

Copyright                     : (c) 2011 User01. All rights reserved.
AliasDefinitions              : {System.Collections.Hashtable}
SessionType                   : Default
CompanyName                   : Unknown
GUID                          : 1e9cb265-dae0-4bd3-89a9-8338a47698a1
Author                        : User01
ExecutionPolicy               : Restricted
SchemaVersion                 : 1.0.0.0
LanguageMode                  : FullLanguage
Architecture                  : 64
Filename                      : %windir%\system32\pwrshplugin.dll
ResourceUri                   : http://schemas.microsoft.com/powershell/Full
MaxConcurrentCommandsPerShell : 1500
UseSharedProcess              : false
ProcessIdleTimeoutSec         : 0
xmlns                         : http://schemas.microsoft.com/wbem/wsman/1/config/PluginConfiguration
MaxConcurrentUsers            : 10
lang                          : en-US
SupportsOptions               : true
ExactMatch                    : true
configfilepath                : C:\WINDOWS\System32\WindowsPowerShell\v1.0\SessionConfig\Full_1e9cb265-dae0-4bd3-89a9-8338a47698a1.pssc
RunAsUser                     :
IdleTimeoutms                 : 7200000
PSVersion                     : 3.0
OutputBufferingMode           : Block
AutoRestart                   : false
MaxShells                     : 300
MaxMemoryPerShellMB           : 1024
MaxIdleTimeoutms              : 43200000
SDKVersion                    : 1
Name                          : Full
XmlRenderingType              : text
Capability                    : {Shell}
RunAsPassword                 :
MaxProcessesPerShell          : 25
Enabled                       : True
MaxShellsPerUser              : 30
Permission                    :

Nell'esempio viene usato il cmdlet Get-PSSessionConfiguration per ottenere la configurazione completa della sessione. Un operatore pipeline invia la configurazione sessione completa al cmdlet Format-List. Il parametro della proprietà con il valore * (tutti) indica a Format-List di visualizzare tutte le proprietà e i valori dell'oggetto in un elenco.

L'output include informazioni utili, tra cui l'autore della configurazione della sessione, il tipo di sessione, la modalità del linguaggio e i criteri di esecuzione delle sessioni creati con questa configurazione di sessione, quote di sessione e il percorso completo del file di configurazione della sessione.

Questa visualizzazione di una configurazione di sessione viene usata per le sessioni che includono un file di configurazione della sessione. Per altre informazioni sui file di configurazione della sessione, vedere about_Session_Configuration_Files.

Esempio 4 : un altro modo per esaminare le configurazioni di sessione

Questo esempio usa il cmdlet Get-ChildItem (alias dir) nell'unità del provider WSMan: per esaminare il contenuto del nodo Plugin. Si tratta di un altro modo per esaminare le configurazioni di sessione nel computer.

dir wsman:\localhost\plugin

Type            Keys                                Name
----            ----                                ----
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=WMI Provider}                 WMI Provider

Il nodo PlugIn contiene oggetti ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement) che rappresentano le configurazioni di sessione di PowerShell registrate, insieme ad altri plug-in per WS-Management.

Esempio 6- Visualizzare le configurazioni di sessione in un computer remoto

In questo esempio viene illustrato come usare il provider WSMan per visualizzare le configurazioni di sessione in un computer remoto. Questo metodo non fornisce tutte le informazioni di un comando Get-PSSessionConfiguration, ma l'utente non deve essere membro del gruppo Administrators per eseguire questo cmdlet.

Connect-WSMan -ComputerName Server01
dir WSMan:\Server01\Plugin

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

Type            Keys                                Name
----            ----                                ----
Container       {Name=Empty}                        Empty
Container       {Name=Event Forwarding Plugin}      Event Forwarding Plugin
Container       {Name=Full}                         Full
Container       {Name=microsoft.powershell}         microsoft.powershell
Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
Container       {Name=microsoft.powershell32}       microsoft.powershell32
Container       {Name=microsoft.ServerManager}      microsoft.ServerManager
Container       {Name=NoLanguage}                   NoLanguage
Container       {Name=RestrictedLang}               RestrictedLang
Container       {Name=RRS}                          RRS
Container       {Name=SEL Plugin}                   SEL Plugin
Container       {Name=WithProfile}                  WithProfile
Container       {Name=WMI Provider}                 WMI Provider

Il cmdlet Connect-WSMan si connette al servizio WinRM nel computer remoto Server01. Il cmdlet Get-ChildItem (alias dir) dell'unità WSMan: ottiene gli elementi nel percorso Server01\Plugin. L'output mostra gli elementi nella directory Plugin nel computer Server01. Gli elementi includono le configurazioni di sessione, che sono un tipo di plug-in WSMan, insieme ad altri tipi di plug-in nel computer.

Esempio 7- Ottenere configurazioni di sessione dettagliate da un computer remoto

Questo esempio illustra come eseguire un comando Get-PSSessionConfiguration in un computer remoto. Il comando richiede che la delega CredSSP sia abilitata nelle impostazioni client del computer locale e nelle impostazioni del servizio nel computer remoto.

Per eseguire i comandi in questo esempio, è necessario essere membri del gruppo Administrators nei computer locali e remoti ed è necessario avviare PowerShell con l'opzione Esegui come amministratore.

Enable-WSManCredSSP -Delegate Server02
Connect-WSMan Server02
Set-Item WSMan:\Server02*\Service\Auth\CredSSP -Value $true
Invoke-Command -ScriptBlock {Get-PSSessionConfiguration} -ComputerName Server02 -Authentication CredSSP -Credential Domain01\Admin01

Name                      PSVersion  StartupScript        Permission                          PSComputerName
----                      ---------  -------------        ----------                          --------------
microsoft.powershell      5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
microsoft.powershell32    5.1                             BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com
MyX86Shell                5.1        c:\test\x86Shell.ps1 BUILTIN\Administrators AccessAll... server02.corp.fabrikam.com

Il cmdlet Enable-WSManCredSSP abilita la delegazione CredSSP su Server01, il computer locale. Il cmdlet Connect-WSMan si connette al computer Server02. Questa azione aggiunge un nodo per Server02 all'unità WSMan: nel computer locale, consentendo di visualizzare e modificare le impostazioni WS-Management nel computer Server02. Il cmdlet Set-Item modifica il valore dell'elemento CredSSP nel nodo Servizio del computer Server02 a True. In questo modo vengono configurate le impostazioni del servizio nel computer remoto. Il cmdlet Invoke-Command esegue il comandoGet-PSSessionConfiguration nel computer Server02. Il comando utilizza il parametro Credential e utilizza il parametro Autenticazione con il valore CredSSP. L'output mostra le configurazioni di sessione nel computer remoto Server02.

Esempio 8: ottenere l'URI della risorsa di una configurazione di sessione

Questo esempio è utile per impostare il valore della variabile di preferenza $PSSessionConfigurationName, che accetta un URI della risorsa.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

http://schemas.microsoft.com/powershell/microsoft.CustomShell

La variabile $PSSessionConfigurationName specifica la configurazione predefinita usata quando si crea una sessione. Questa variabile viene impostata nel computer locale, ma specifica una configurazione nel computer remoto. Per altre informazioni sulla variabile $PSSessionConfiguration, vedere about_Preference_Variables.

Parametri

-Force

Elimina la richiesta di riavviare il servizio WinRM, se il servizio non è già in esecuzione.

Tipo:SwitchParameter
Posizione:Named
Valore predefinito:None
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:False

-Name

Ottiene solo le configurazioni di sessione con il nome o il modello di nome specificato. Immettere uno o più nomi di configurazione della sessione. Sono consentiti caratteri jolly.

Tipo:String[]
Posizione:0
Valore predefinito:All session configurations on the local computer
Necessario:False
Accettare l'input della pipeline:False
Accettare caratteri jolly:True

Input

None

Non è possibile inviare tramite pipe oggetti a questo cmdlet.

Output

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Note

  • Per eseguire questo cmdlet, avviare PowerShell con l'opzione Esegui come amministratore.

  • Per visualizzare le configurazioni di sessione nel computer, è necessario essere membri del gruppo Administrators nel computer.

  • Per eseguire un comando Get-PSSessionConfiguration in un computer remoto, è necessario abilitare l'autenticazione credSSP (Credential Security Service Provider) nelle impostazioni client del computer locale (usando il cmdlet Enable-WSManCredSSP) e nelle impostazioni del servizio nel computer remoto. Inoltre, è necessario usare il valore di CredSSP del parametro Authentication per stabilire la sessione remota. In caso contrario, l'accesso viene negato.

  • Le proprietà note dell'oggetto che Get-PSSessionConfiguration restituisce vengono visualizzate sull'oggetto solo quando hanno un valore. Solo le configurazioni di sessione create tramite un file di configurazione di sessione hanno tutte le proprietà definite.

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

  • È possibile usare i comandi nell'unità WSMan: per modificare le proprietà delle configurazioni di sessione. Tuttavia, non è possibile usare l'unità WSMan: in PowerShell 2.0 per modificare le proprietà di configurazione della sessione introdotte in PowerShell 3.0, ad esempio OutputBufferingMode. I comandi di PowerShell 2.0 non generano un errore, ma sono inefficaci. Per modificare le proprietà introdotte in PowerShell 3.0, usare l'unità WSMan: nel PowerShell 3.0.