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 non è necessario che l'utente sia 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 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 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 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.
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 configurazioni di sessione. I caratteri jolly sono consentiti.
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
Get-PSSessionConfiguration
comando in un computer remoto, è necessario abilitare l'autenticazione CredSSP (Credential Security Service Provider) nelle impostazioni client del computer locale (usando ilEnable-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.
Collegamenti correlati
- Disable-PSSessionConfiguration
- Enable-PSSessionConfiguration
- Get-PSSessionConfiguration
- New-PSSessionConfigurationFile
- New-PSSessionOption
- Register-PSSessionConfiguration
- Set-PSSessionConfiguration
- Test-PSSessionConfigurationFile
- Unregister-PSSessionConfiguration
- Provider WSMan
- about_Session_Configurations
- about_Session_Configuration_Files