Share via


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 longue

Une configuration de session, également appelée « point de terminaison » est un groupe de paramètres sur l’ordinateur local qui définissent l’environnement pour les sessions PowerShell créées lorsque des utilisateurs distants ou locaux se connectent à PowerShell sur l’ordinateur local.

Les administrateurs de l’ordinateur peuvent utiliser des configurations de session pour 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 les autorisations requises pour se connecter à l’ordinateur à distance. Par défaut, seuls les membres du groupe Administrateurs sont autorisés à utiliser la configuration de session pour se connecter à distance, mais vous pouvez modifier les paramètres par défaut pour permettre à tous les utilisateurs, ou utilisateurs sélectionnés, de se connecter à distance à votre ordinateur.

À compter de 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écouverte 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.

Les configurations de session sont une fonctionnalité de communication à distance PowerShell basée sur WSMAN. Elles sont utilisées uniquement lorsque vous utilisez les New-PSSessionapplets de commande , Invoke-Commandou Enter-PSSession pour vous connecter à un ordinateur Windows distant.

Pour gérer les configurations de session sur un ordinateur Windows, démarrez PowerShell avec l’option Exécuter en tant qu’administrateur .

À propos des configurations de session

Chaque session PowerShell utilise une configuration de session. Cela inclut les sessions persistantes que vous créez à l’aide des applets de commande New-PSSession ou Enter-PSSession, ainsi que les sessions temporaires que PowerShell crée lorsque vous utilisez le paramètre ComputerName d’une applet de commande qui utilise la technologie de communication à distance basée sur WS-Management, telle que Invoke-Command.

Les administrateurs peuvent utiliser des configurations de session pour protéger les ressources de l’ordinateur et créer des environnements personnalisés pour les utilisateurs qui se connectent à l’ordinateur. Par exemple, vous pouvez utiliser une configuration de session pour limiter la taille des objets que l’ordinateur reçoit dans la session, pour définir le mode de langage de la session et pour spécifier les applets de commande, les fournisseurs et les fonctions 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 Exécuter sur une configuration de session pour l’utiliser dans une session. Si un utilisateur ne dispose pas des autorisations requises pour utiliser l’une des configurations de session sur un ordinateur, il ne peut pas se connecter à l’ordinateur à distance.

Par défaut, seuls les administrateurs de l’ordinateur sont autorisés à utiliser les configurations de session par défaut. Toutefois, vous pouvez modifier les descripteurs de sécurité pour permettre à tout le monde, à personne ou uniquement aux utilisateurs sélectionnés, d’utiliser les configurations de session sur votre ordinateur.

Configurations de session intégrées

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, PowerShell fournit également Microsoft.PowerShell32, une configuration de session 32 bits.

La configuration de session Microsoft.PowerShell est utilisée pour les sessions par défaut, c’est-à-dire lorsqu’une commande permettant de 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é pour les configurations de session par défaut autorisent uniquement les membres du groupe Administrateurs sur l’ordinateur local à les utiliser. Par conséquent, seuls les membres du groupe Administrateurs peuvent se connecter à distance à l’ordinateur, sauf si vous modifiez les paramètres par défaut.

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 obtenir les configurations de session sur votre ordinateur local, utilisez l’applet de commande Get-PSSessionConfiguration.

Par exemple, entrez :

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 de configuration de session est développé dans PowerShell 3.0 pour afficher les propriétés de la configuration de session configurées à l’aide d’un fichier de configuration de session.

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

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

Vous pouvez également utiliser le fournisseur WSMan dans PowerShell pour afficher les configurations de session. Le fournisseur WSMan crée un lecteur WSMAN : dans votre session.

Dans le lecteur WSMAN : , les configurations de session se trouvent dans le nœud Plug-in. (Toutes les configurations de session se trouvent dans le nœud Plug-in, mais il existe des éléments dans le nœud Plug-in qui ne sont pas des configurations de session.)

Par exemple, pour afficher les configurations de session sur l’ordinateur local, tapez :

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.wor... 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 une note pour l’ordinateur distant au lecteur WSMAN : sur 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 au lecteur WSMAN : sur l’ordinateur local.

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

Une fois la commande terminée, 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\Pl
ugin

Type       Keys                              Name
----       ----                              ----
Container  {Name=microsoft.powershell}       microsoft.powershell
Container  {Name=microsoft.powershell.wor... 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 plus récentes de Windows Server, les configurations de session intégrées sont activées par défaut pour les utilisateurs distants. Dans les autres versions prises en charge de Windows, vous devez modifier les descripteurs de sécurité des configurations de session pour autoriser l’accès à distance.

Pour activer l’accès à distance aux configurations de session sur l’ordinateur, utilisez l’applet de commande Enable-PSRemoting. Cette applet de commande crée deux configurations de session :

  • avec le nom défini comme : « PowerShell . » + « version actuelle de PowerShell »
  • avec le nom « PowerShell.6 », non lié à toute version spécifique de PowerShell.

En outre, par défaut, seuls les membres du groupe Administrateurs sur l’ordinateur disposent de l’autorisation Exécuter pour les configurations de session par défaut, mais vous pouvez modifier les descripteurs de sécurité sur les configurations de session par défaut et sur toutes les configurations de session que vous créez.

Pour autoriser d’autres utilisateurs à se connecter à l’ordinateur à distance, utilisez l’applet de commande Set-PSSessionConfiguration pour ajouter des autorisations « Exécuter » pour ces utilisateurs 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é pour la configuration de session par défaut de Microsoft.PowerShell.

Set-PSSessionConfiguration -name Microsoft.PowerShell `
  -ShowSecurityDescriptorUI

Pour refuser à tout le monde l’autorisation d’accéder à toutes les 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, mais autoriser les utilisateurs locaux à se connecter, utilisez l’applet de commande Disable-PSRemoting. Disable-PSRemoting ajoute une entrée « Network_Deny_All » à 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 active 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 aide à créer un SDDL.

Par exemple :

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 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, sauf qu’elle limite les données reçues d’une commande distante à 20 mégaoctets (Mo). (La valeur par défaut est 50 Mo).

Register-PSSessionConfiguration -Name NewConfig `
  -MaximumReceivedDataSizePerCommandMB 20

Lorsque vous créez une configuration de session, vous pouvez la gérer à l’aide des autres applets de commande de configuration de session et elle apparaît dans 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 (non inscrite) accidentellement, utilisez l’applet de commande Enable-PSRemoting.

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

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

Sélection d’une configuration de session

Pour sélectionner une configuration de session particulière pour une session, utilisez le paramètre ConfigurationName de New-PSSession, Enter-PSSession ou Invoke-Command.

Par exemple, cette commande utilise l’applet de commande New-PSSession pour démarrer une session PSSession 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 réussit uniquement si l’utilisateur actuel est autorisé à utiliser la configuration de session WithProfile ou peut fournir les informations d’identification d’un utilisateur disposant des autorisations requises.

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