Get-PSSessionConfiguration

Ottiene le configurazioni di sessione registrate nel computer.

Sintassi

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

Descrizione

Il Get-PSSessionConfiguration cmdlet 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 le configurazioni di sessione personalizzate per i propri 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 altre informazioni sui file di configurazione delle sessioni, 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à consentono agli utenti e agli autori di configurazioni di sessione di esaminare e confrontare più facilmente le configurazioni di sessione.

Per creare e registrare una configurazione di sessione, usare il Register-PSSessionConfiguration cmdlet . 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 Name 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 illustra le proprietà e i valori delle proprietà di una configurazione di sessione creata mediante 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 Get-PSSessionConfiguration cmdlet per ottenere la configurazione completa della sessione. Un operatore pipeline invia la configurazione sessione completa al Format-List cmdlet . Il parametro Property con un valore ( * tutti) indica 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.

La 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 delle sessioni, vedere about_Session_Configuration_Files.

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

In questo esempio viene usato il Get-ChildItem cmdlet (alias dir) nell'unità del provider WSMan: per esaminare il contenuto del nodo Plug-in. 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

Questo esempio illustra come usare il provider WSMan per visualizzare le configurazioni di sessione in un computer remoto. Questo metodo non fornisce tutte le informazioni di un Get-PSSessionConfiguration comando, ma l'utente non deve essere membro del gruppo Amministrazione istrators 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 Connect-WSMan cmdlet si connette al servizio WinRM nel computer remoto Server01. Il Get-ChildItem cmdlet (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 Get-PSSessionConfiguration comando in un computer remoto. Il comando richiede che la delega CredSSP sia abilitata nelle impostazioni del client nel computer locale e nelle impostazioni del servizio nel computer remoto.

Per eseguire i comandi in questo esempio, è necessario essere membri del gruppo Amministrazione istrators 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 Enable-WSManCredSSP cmdlet abilita la delega CredSSP in Server01, il computer locale. Il Connect-WSMan cmdlet 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 Set-Item cmdlet modifica il valore dell'elemento CredSSP nel nodo Servizio del computer Server02 su True. In questo modo vengono configurate le impostazioni del servizio nel computer remoto. Il Invoke-Command cmdlet esegue ilGet-PSSessionConfiguration comando nel computer Server02. Il comando usa il parametro Credential e usa il parametro Authentication con un 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 $PSSessionConfigurationName preferenza, che accetta un URI della risorsa.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

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

La $PSSessionConfigurationName variabile 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 $PSSessionConfiguration variabile, vedere about_Preference_Variables.

Parametri

-Force

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

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

Type:String[]
Position:0
Default value:All session configurations on the local computer
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Get-PSSessionConfiguration comando in un computer remoto, è necessario abilitare l'autenticazione CredSSP (Credential Security Service Provider) nelle impostazioni client del computer locale (usando il Enable-WSManCredSSP cmdlet) e nelle impostazioni del servizio nel computer remoto. Inoltre, è necessario usare il valore CredSSP del parametro Authentication quando si stabilisce la sessione remota. In caso contrario, l'accesso viene negato.

  • Le proprietà note dell'oggetto restituito Get-PSSessionConfiguration vengono visualizzate nell'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 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.

  • È possibile usare 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: in PowerShell 3.0.