Get-PSSessionConfiguration

Obtient les configurations de session inscrites sur l'ordinateur.

Syntax

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

Description

L’applet Get-PSSessionConfiguration de commande obtient les configurations de session qui ont été inscrites sur l’ordinateur local. Il s'agit d'une applet de commande avancée conçue pour être utilisée par les administrateurs système pour gérer des configurations de sessions personnalisées pour leurs utilisateurs.

À compter de PowerShell 3.0, vous pouvez définir les propriétés d’une configuration de session à l’aide d’un fichier de configuration de session (.pssc). Cette fonctionnalité vous permet de créer des sessions personnalisées et restreintes sans avoir à écrire un programme informatique. Pour plus d’informations sur les fichiers de configuration de session, consultez about_Session_Configuration_Files.

En outre, à partir de PowerShell 3.0, de nouvelles propriétés de note ont été ajoutées à l’objet de configuration de session qui Get-PSSessionConfiguration retourne. Ces propriétés permettent aux utilisateurs et aux auteurs de configuration de session d'examiner et de comparer les configurations de session facilement.

Pour créer et inscrire une configuration de session, utilisez l’applet de Register-PSSessionConfiguration commande. Pour plus d'informations sur les configurations de session, consultez about_Session_Configurations.

Exemples

Exemple 1 : Obtenir des configurations de session sur l’ordinateur local

Get-PSSessionConfiguration

Exemple 2 : Obtenir les deux configurations de session par défaut

La commande utilise le paramètre Name pour obtenir uniquement les configurations de Get-PSSessionConfiguration session avec des noms commençant par « Microsoft ».

Get-PSSessionConfiguration -Name Microsoft*

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

Exemple 3 : Obtenir les propriétés et les valeurs d’une configuration de session

Cet exemple illustre les propriétés et les valeurs de propriété d'une configuration de session qui a été créée à l'aide d'un fichier de configuration de session.

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                    :

L’exemple utilise l’applet Get-PSSessionConfiguration de commande pour obtenir la configuration de session complète. Un opérateur de pipeline envoie la configuration de session complète à l’applet de Format-List commande. Le paramètre Property avec une valeur ( * toutes) indique Format-List d’afficher toutes les propriétés et valeurs de l’objet dans une liste.

La sortie inclut des informations utiles, notamment l’auteur de la configuration de session, le type de session, le mode de langage et la stratégie d’exécution des sessions créées avec cette configuration de session, les quotas de session et le chemin complet du fichier de configuration de session.

Cette vue d'une configuration de session est utilisée pour les sessions qui incluent un fichier de configuration de session. Pour plus d’informations sur les fichiers de configuration de session, consultez about_Session_Configuration_Files.

Exemple 4 - Autre moyen d’examiner les configurations de session

Cet exemple utilise l’applet Get-ChildItem de commande (alias dir) dans le lecteur de fournisseur WSMan : pour examiner le contenu du nœud plug-in. Il s'agit d'une autre façon d'examiner les configurations de session sur l'ordinateur.

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

Le nœud PlugIn contient des objets ContainerElement (Microsoft.WSMan.Management.WSManConfigContainerElement) qui représentent les configurations de session PowerShell inscrites, ainsi que d’autres plug-ins pour WS-Management.

Exemple 6 - Afficher les configurations de session sur un ordinateur distant

Cet exemple montre comment utiliser le fournisseur WSMan pour afficher les configurations de session sur un ordinateur distant. Cette méthode ne fournit pas autant d’informations qu’une Get-PSSessionConfiguration commande, mais l’utilisateur n’a pas besoin d’être membre du groupe Administration istrators pour exécuter cette applet de commande.

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

L’applet Connect-WSMan de commande se connecte au service WinRM sur l’ordinateur distant Server01. L’applet Get-ChildItem de commande (alias dir) du lecteur WSMan : obtient les éléments dans le chemin d’accès server01\Plugin . La sortie affiche les éléments du répertoire du plug-in sur l’ordinateur Server01. Les éléments incluent les configurations de session, qui sont un type de plug-in WSMan, ainsi que d’autres types de plug-ins sur l’ordinateur.

Exemple 7 : Obtenir des configurations de session détaillées à partir d’un ordinateur distant

Cet exemple montre comment exécuter une Get-PSSessionConfiguration commande sur un ordinateur distant. La commande nécessite que la délégation CredSSP soit activée dans les paramètres du client sur l'ordinateur local et dans les paramètres de service sur l'ordinateur distant.

Pour exécuter les commandes de cet exemple, vous devez être membre du groupe Administration istrators sur les ordinateurs locaux et distants, et vous devez démarrer PowerShell avec l’option Exécuter en tant qu’administrateur.

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

L’applet Enable-WSManCredSSP de commande active la délégation CredSSP sur Server01, l’ordinateur local. L’applet Connect-WSMan de commande se connecte à l’ordinateur Server02. Cette action ajoute un nœud pour Server02 au lecteur WSMan : sur l’ordinateur local, ce qui vous permet d’afficher et de modifier les paramètres de gestion WS sur l’ordinateur Server02. L’applet Set-Item de commande modifie la valeur de l’élément CredSSP dans le nœud Service de l’ordinateur Server02 sur True. Cela configure les paramètres du service sur l’ordinateur distant. L’applet Invoke-Command de commande exécute laGet-PSSessionConfiguration commande sur l’ordinateur Server02. La commande utilise le paramètre Credential et utilise le paramètre d’authentification avec la valeur CredSSP. La sortie affiche les configurations de session sur l’ordinateur distant Server02.

Exemple 8 : Obtenir l’URI de ressource d’une configuration de session

Cet exemple est utile pour définir la valeur de la $PSSessionConfigurationName variable de préférence, qui prend un URI de ressource.

(Get-PSSessionConfiguration -Name CustomShell).resourceURI

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

La $PSSessionConfigurationName variable spécifie la configuration par défaut utilisée lorsque vous créez une session. Cette variable est définie sur l'ordinateur local, mais elle spécifie une configuration sur l'ordinateur distant. Pour plus d’informations sur la variable $PSSessionConfiguration, consultez about_Preference_Variables.

Paramètres

-Force

Supprime l'invite de redémarrage du service WinRM, si le service n'est pas déjà en cours d'exécution.

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

-Name

Obtient uniquement les configurations de session portant le nom ou le modèle de nom spécifié. Entrez un ou plusieurs noms de configuration de session. Les caractères génériques sont autorisés.

Type:String[]
Position:0
Default value:All session configurations on the local computer
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

Microsoft.PowerShell.Commands.PSSessionConfigurationCommands

Notes

  • Pour exécuter cette applet de commande, démarrez PowerShell avec l’option Exécuter en tant qu’administrateur .

  • Pour afficher les configurations de session sur l'ordinateur, vous devez être membre du groupe Administrateurs sur l'ordinateur.

  • Pour exécuter une Get-PSSessionConfiguration commande sur un ordinateur distant, l’authentification CredSSP (Credential Security Service Provider) doit être activée dans les paramètres client de l’ordinateur local (à l’aide de l’applet Enable-WSManCredSSP de commande) et dans les paramètres de service sur l’ordinateur distant. En outre, vous devez utiliser la valeur CredSSP du paramètre d’authentification lors de l’établissement de la session à distance. Dans le cas contraire, l'accès est refusé.

  • Les propriétés de note de l’objet qui Get-PSSessionConfiguration retourne apparaissent sur l’objet uniquement lorsqu’elles ont une valeur. Seules les configurations de session créées à l’aide d’un fichier de configuration de session ont toutes les propriétés définies.

  • Les propriétés d'un objet de configuration de session varient selon les options définies pour la configuration de session et les valeurs de ces options. En outre, les configurations de sessions qui utilisent un fichier de configuration de session ont des propriétés supplémentaires.

  • Vous pouvez utiliser les commandes du lecteur WSMan pour modifier les propriétés des configurations de session. Toutefois, vous ne pouvez pas utiliser le lecteur WSMan : dans PowerShell 2.0 pour modifier les propriétés de configuration de session introduites dans PowerShell 3.0, telles que OutputBufferingMode. Les commandes PowerShell 2.0 ne génèrent pas d’erreur, mais elles sont inefficaces. Pour modifier les propriétés introduites dans PowerShell 3.0, utilisez le lecteur WSMan : dans PowerShell 3.0.