Share via


about_Session_Configurations

Mis à jour: août 2012

S'applique à: Windows PowerShell 2.0, Windows PowerShell 3.0

RUBRIQUE

about_Session_Configurations

DESCRIPTION COURTE

Décrit les configurations de session qui déterminent les utilisateurs pouvant se connecter à distance à l'ordinateur et les commandes qu'ils peuvent exécuter.

DESCRIPTION DÉTAILLÉE

Une configuration de session, ou « point de terminaison », est un groupe de paramètres sur l'ordinateur local qui définissent l'environnement des sessions Windows PowerShell® créées quand des utilisateurs distants ou locaux se connectent à Windows PowerShell sur l'ordinateur local.

Avec des configurations de session, les administrateurs de l'ordinateur peuvent protéger l'ordinateur et définir des environnements personnalisés pour les utilisateurs qui se connectent à l'ordinateur.

Les administrateurs peuvent également utiliser des configurations de session pour déterminer quelles autorisations l'utilisateur doit avoir pour se connecter à distance à l'ordinateur. Par défaut, seuls les membres du groupe Administrateurs ont l'autorisation d'utiliser la configuration de session pour se connecter à distance, mais vous pouvez modifier ces paramètres par défaut pour autoriser tous les utilisateurs, ou uniquement les utilisateurs sélectionnés, à se connecter à distance à votre ordinateur.

À compter de Windows PowerShell 3.0, vous pouvez utiliser un fichier de configuration de session pour définir les éléments d'une configuration de session. Cette fonctionnalité facilite la personnalisation des sessions sans écrire de code et la détection des propriétés d'une configuration de session. Pour créer un fichier de configuration de session, utilisez l'applet de commande New-PSSessionConfiguration. Pour plus d'informations sur les fichiers de configuration de session, consultez about_Session_Configuration_Files (https://go.microsoft.com/fwlink/?LinkId=236023).

Les configurations de session sont une fonctionnalité de la communication à distance Windows PowerShell basée sur le protocole WS-Management (Web Services for Management). Elles s'appliquent uniquement dans le cas où les connexions sont établies à un ordinateur distant à l'aide des applets de commande New-PSSession, Invoke-Command ou Enter-PSSession.

Remarque : pour gérer les configurations de session, démarrez Windows PowerShell avec l'option « Exécuter en tant qu'administrateur ».

À PROPOS DES CONFIGURATIONS DE SESSION

Chaque session Windows PowerShell utilise une configuration de session. Celle-ci inclut les sessions persistantes que vous créez à l'aide des applets de commande New-PSSession ou Enter-PSSession, ainsi que les sessions temporaires créées par Windows PowerShell quand vous utilisez le paramètre ComputerName d'une applet de commande incluant la technologie de communication à distance WS-Management, telle que l'applet de commande Invoke-Command.

Avec des configurations de session, les administrateurs peuvent protéger les ressources de l'ordinateur et créer des environnements personnalisés pour les utilisateurs qui se connectent à l'ordinateur. Par exemple, utilisez une configuration de session pour limiter la taille des objets que l'ordinateur reçoit dans la session, définir le mode de langage de la session, et spécifier les applets de commande, les fournisseurs et les fonctions qui sont disponibles dans la session.

En configurant le descripteur de sécurité d'une configuration de session, vous déterminez qui peut utiliser la configuration de session pour se connecter à l'ordinateur. Les utilisateurs doivent disposer de l'autorisation « Execute » pour utiliser une configuration de session dans une session. Si un utilisateur n'a pas les autorisations nécessaires pour utiliser l'une des configurations de session sur un ordinateur, il ne peut pas se connecter à distance à l'ordinateur.

Par défaut, seuls les membres du groupe Administrateurs sur l'ordinateur ont l'autorisation d'utiliser les configurations de session par défaut. Vous pouvez modifier les descripteurs de sécurité pour autoriser tous les utilisateurs ou uniquement les utilisateurs sélectionnés, ou pour n'autoriser aucun utilisateur, à utiliser les configurations de session sur votre ordinateur. Insérez le corps de la sous-section ici.

CONFIGURATIONS DE SESSION INTÉGRÉES

Windows PowerShell 3.0 inclut des configurations de session intégrées nommées Microsoft.PowerShell et Microsoft.PowerShell.Workflow. Sur les ordinateurs exécutant des versions 64 bits de Windows, Windows PowerShell fournit également Microsoft.PowerShell32, une configuration de session 32 bits.

La configuration de session Windows PowerShell est appliquée dans les sessions par défaut, autrement dit, quand une commande utilisée pour créer une session n'inclut pas le paramètre ConfigurationName de l'applet de commande New-PSSession, Enter-PSSession ou Invoke-Command.

Les descripteurs de sécurité des configurations de session par défaut autorisent uniquement les membres du groupe Administrateurs sur l'ordinateur local à utiliser ces configurations. Par conséquent, si vous ne modifiez pas les paramètres par défaut, seuls les membres du groupe Administrateurs peuvent se connecter à distance à l'ordinateur.

Vous pouvez modifier les configurations de session par défaut à l'aide de la variable de préférence $PSSessionConfigurationName. Pour plus d'informations, consultez about_Preference_Variables.

AFFICHAGE DES CONFIGURATIONS DE SESSION SUR L'ORDINATEUR LOCAL

Pour afficher les configurations de session sur votre ordinateur local, utilisez l'applet de commande Get-PSSessionConfiguration.

Par exemple, tapez :

        PS C:\> Get-PSSessionConfiguration | Format-List -Property Name, Permission

        Name       : microsoft.powershell
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell.workflow
        Permission : BUILTIN\Administrators AccessAllowed

        Name       : microsoft.powershell32
        Permission : BUILTIN\Administrators AccessAllowed

L'objet configuration de session est développé dans Windows PowerShell 3.0 pour afficher les propriétés de la configuration de session qui sont définies dans un fichier de configuration de session.

Par exemple, pour afficher toutes les propriétés d'un objet configuration de session, tapez :

        PS C:\> Get-PSSessionConfiguration | Format-List -Property *

Vous pouvez également afficher les configurations de session à l'aide du fournisseur WSMan dans Windows PowerShell. Le fournisseur WSMan crée un lecteur WSMAN: dans votre session.

Sur le lecteur WSMAN:, les configurations de session se trouvent dans le nœud Plugin. (Le nœud Plugin contient toutes les configurations de session, mais aussi d'autres types d'élément.)

Par exemple, pour afficher les configurations de session sur l'ordinateur local, tapez : Insérez le corps de la sous-section ici.

         PS C:\> dir wsman:\localhost\plugin\microsoft*
      
            WSManConfig: Microsoft.WSMan.Management\WSMan::localhost\Plugin

         Type            Keys                                Name
         ----            ----                                ----
         Container       {Name=microsoft.powershell}         microsoft.powershell
         Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
         Container       {Name=microsoft.powershell32}       microsoft.powershell32

AFFICHAGE DES CONFIGURATIONS DE SESSION SUR UN ORDINATEUR DISTANT

Pour afficher les configurations de session sur un ordinateur distant, utilisez l'applet de commande Connect-WSMan pour ajouter un nœud spécifique à l'ordinateur distant sur le lecteur WSMAN: de votre ordinateur local, puis utilisez le lecteur WSMAN: pour afficher les configurations de session.

Par exemple, la commande suivante ajoute un nœud pour l'ordinateur distant Server01 sur le lecteur WSMAN: de l'ordinateur local.

        PS C:\> Connect-WSMan server01.corp.fabrikam.com

Après l'exécution de cette commande, vous pouvez accéder au nœud de l'ordinateur Server01 pour afficher les configurations de session.

Par exemple :

        PS C:\> 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


        Type            Keys                                Name
        ----            ----                                ----
        Container       {Name=microsoft.powershell}         microsoft.powershell
        Container       {Name=microsoft.powershell.workf... microsoft.powershell.workflow
        Container       {Name=microsoft.powershell32}       microsoft.powershell32

MODIFICATION DU DESCRIPTEUR DE SÉCURITÉ D'UNE CONFIGURATION DE SESSION

Dans Windows Server 2012 et les versions ultérieures de Windows Server, les configurations de session intégrées sont activées par défaut pour les utilisateurs distants. Dans les autres versions de Windows prises en charge, vous devez modifier les descripteurs de sécurité des configurations de session pour autoriser l'accès à distance.

Pour permettre l'accès à distance aux configurations de session sur l'ordinateur, utilisez l'applet de commande Enable-PSRemoting. Insérez le corps de la sous-section ici.

En outre, par défaut, seuls les membres du groupe Administrateurs sur l'ordinateur possèdent l'autorisation Execute sur les configurations de session par défaut. Vous pouvez modifier les descripteurs de sécurité des configurations de session par défaut et des configurations de session que vous créez.

Pour autoriser d'autres utilisateurs à se connecter à distance à l'ordinateur, utilisez l'applet de commande Set-PSSessionConfiguration pour ajouter l'autorisation « Execute°» aux descripteurs de sécurité des configurations de session Microsoft.PowerShell et Microsoft.PowerShell32.

Par exemple, la commande suivante ouvre une page de propriétés qui vous permet de modifier le descripteur de sécurité de la configuration de session par défaut Microsoft.PowerShell.

        PS C:\> Set-PSSessionConfiguration -name Microsoft.PowerShell -ShowSecurityDescriptorUI

Pour refuser à tout le monde l'autorisation d'utiliser l'ensemble des configurations de session sur l'ordinateur, utilisez l'applet de commande Disable-PSSessionConfiguration. Par exemple, la commande suivante désactive les configurations de session par défaut sur l'ordinateur.

        PS C:\> Disable-PSSessionConfiguration -Name Microsoft.PowerShell

Pour empêcher les utilisateurs distants de se connecter à l'ordinateur, tout en accordant cette autorisation aux utilisateurs locaux, utilisez l'applet de commande Disable-PSRemoting. Disable-PSRemoting ajoute une entrée « Network_Deny_All » dans toutes les configurations de session sur l'ordinateur.

        PS C:\> Disable-PSRemoting

Pour permettre aux utilisateurs distants d'utiliser toutes les configurations de session sur l'ordinateur, utilisez l'applet de commande Enable-PSRemoting ou Enable-PSSessionConfiguration. Par exemple, la commande suivante autorise l'accès à distance aux configurations de session intégrées.

        PS C:\> Enable-PSSessionConfiguration -name Microsoft.Power*

Pour apporter d'autres modifications au descripteur de sécurité d'une configuration de session, utilisez l'applet de commande Set-PSSessionConfiguration. Utilisez le paramètre SecurityDescriptorSDDL pour envoyer une valeur de chaîne SDDL. Utilisez le paramètre ShowSecurityDescriptorUI pour afficher une feuille de propriétés d'interface utilisateur qui vous aidera à créer une SDDL.

Par exemple :

        PS C:\> Set-PSSessionConfiguration -Name Microsoft.PowerShell -ShowSecurityDescriptorUI

CRÉATION D'UNE CONFIGURATION DE SESSION

Pour créer une configuration de session sur l'ordinateur local, utilisez l'applet de commande Register-PSSessionConfiguration. Pour définir la nouvelle configuration de session, vous pouvez utiliser un assembly C#, un script Windows PowerShell et les paramètres de l'applet de commande Register-PSSessionConfiguration.

Par exemple, la commande suivante crée une configuration de session identique à la configuration de session Microsoft.PowerShell, à ceci près qu'elle limite les données pouvant être reçues d'une commande distante à 20 mégaoctets (Mo). (La valeur par défaut est 50 Mo). Insérez le corps de la sous-section ici.

        PS C:\> Register-PSSessionConfiguration -Name NewConfig --MaximumReceivedDataSizePerCommandMB                    20

Quand vous créez une configuration de session, vous pouvez la gérer à l'aide d'autres applets de commande de configuration de session. La configuration de session s'affiche alors sur le lecteur WSMAN: .

Pour plus d'informations, consultez Register-PSSessionConfiguration.

SUPPRESSION D'UNE CONFIGURATION DE SESSION

Pour supprimer une configuration de session de l'ordinateur local, utilisez l'applet de commande Unregister-PSSessionConfiguration. Par exemple, la commande suivante supprime la configuration de session NewConfig de l'ordinateur.

        PS C:\> Unregister-PSSessionConfiguration -Name NewConfig

Pour plus d'informations, consultez Unregister-PSSessionConfiguration.

RESTAURATION D'UNE CONFIGURATION DE SESSION

Pour restaurer une configuration de session par défaut qui a été supprimée (désinscrite) par erreur, utilisez l'applet de commande Enable-PSRemoting.

L'applet de commande Enable-PSRemoting recrée toutes les configurations de session par défaut qui n'existent pas sur l'ordinateur. Elle ne remplace ni ne modifie les valeurs de propriété des configurations de session existantes.

Pour restaurer les valeurs de propriété initiales d'une configuration de session par défaut, utilisez l'applet de commande Unregister-PSSessionConfiguration pour supprimer la configuration de session, puis l'applet de commande Enable-PSRemoting pour la recréer.

SÉLECTION D'UNE CONFIGURATION DE SESSION

Pour sélectionner une configuration de session spécifique, utilisez le paramètre ConfigurationName de l'applet de commande New-PSSession, Enter-PSSession ou Invoke-Command.

Par exemple, cette commande utilise l'applet de commande New-PSSession pour démarrer une session PowerShell sur l'ordinateur Server01. La commande utilise le paramètre ConfigurationName pour sélectionner la configuration WithProfile sur l'ordinateur Server01.

        PS C:\> New-PSSession -ComputerName Server01 -ConfigurationName WithProfile

Cette commande fonctionne uniquement si l'utilisateur actuel possède l'autorisation nécessaire pour utiliser la configuration de session WithProfile ou s'il fournit les informations d'identification d'un autre utilisateur qui possède cette autorisation.

Vous pouvez également utiliser la variable de préférence $PSSessionConfigurationName pour modifier la configuration de session par défaut sur l'ordinateur. Pour plus d'informations sur la variable de préférence $PSSessionConfigurationName, consultez about_Preference_Variables.

MOTS CLÉS

about_Endpoints

about_SessionConfigurations

VOIR AUSSI

about_Preference_Variables

about_PSSession

about_Remote

about_Session_Configuration_Files

New-PSSession

Disable-PSSessionConfiguration

Enable-PSSessionConfiguration

Get-PSSessionConfiguration

New-PSSessionConfigurationFile

Register-PSSessionConfiguration

Set-PSSessionConfiguration

Test-PSSessionConfigurationFile

Unregister-PSSessionConfiguration