15/11/2024

PowerShellStratégie de groupe

GPO : comment définir la stratégie d’exécution de PowerShell 7 ?

I. Présentation

Dans ce tutoriel, nous allons apprendre à configurer PowerShell 7 (anciennement PowerShell Core) par GPO ! C'est une action importante si vous utilisez cette version de PowerShell sur votre infrastructure, en complément de Windows PowerShell.

Pourquoi ? La réponse dans la suite de cet article (ou en regardant la vidéo).

Windows PowerShell et PowerShell ont chacun leur propre configuration. De ce fait, sur une même machine, la stratégie d'exécution des scripts ne sera pas obligatoirement la même entre Windows PowerShell et PowerShell !

L'image ci-dessous est un bon exemple :

Configurer PowerShell 7 par GPO - 1

La stratégie d'exécution des scripts est configurée par GPO pour Windows PowerShell, et nous pouvons voir que PowerShell n'en tient pas compte du tout. Nous allons voir comment remédier à cette problématique.

Configurer PowerShell 7 par GPO - 2

II. GPO : installer les modèles d'administration de PowerShell 7

Lorsque PowerShell 7 (PowerShell Core) est installé sur une machine, il est livré avec un script d'installation des modèles d'administration (ADMX) afin d'ajouter des paramètres pour PowerShell dans les GPO.

La commande ci-dessous permet de lister les fichiers présents dans le répertoire d'installation de PowerShell (représenté par $PSHOME), en appliquant un filtre.

Get-ChildItem -Path $PSHOME -Filter *Core*Policy*

Cette commande retourne trois fichiers :

  • InstallPSCorePolicyDefinitions.ps1 : script d'installaton
  • PowerShellCoreExecutionPolicy.admx : modèle d'administration PowerShell
  • PowerShellCoreExecutionPolicy.adml : fichier de langue pour le modèle d'administration PowerShell
ADMX PowerShell 7

Nous devons exécuter ce script PS1 sur notre machine pour installer les modèles d'administration. Vous pouvez l'exécuter directement sur un contrôleur de domaine. En fait, ce script va simplement copier-coller les fichiers au bon endroit.

& 'C:\Program Files\PowerShell\7\InstallPSCorePolicyDefinitions.ps1'

Ce qui donne :

Remarque : si vous avez mis en place un magasin central dans votre partage SYSVOL, vous devez déplacer les deux fichiers (ADMX et ADML) dans ce répertoire.

Ensuite, vous devez créer une nouvelle GPO. Une seule et même GPO pourra configurer à la fois Windows PowerShell et PowerShell.

  • Les paramètres de Windows PowerShell sont situés dans :
Configuration ordinateur > Stratégies > Modèles d'administration > PowerShell Core
  • Les paramètres de PowerShell sont situés dans :
Configuration ordinateur > Stratégies > Modèles d'administration > Composants Windows > Windows PowerShell

Ces paramètres sont aussi disponibles sous "Configuration utilisateur".

Voici les paramètres pour PowerShell 7 :

III. GPO : configurer la politique d'exécution de PowerShell 7

À partir de la console d'édition de GPO, vous devez configurer le paramètre "Turn on Script Execution" pour gérer la politique d'exécution des scripts de PowerShell avec une stratégie de groupe. Je vous recommande d'activer ce paramètre et de cocher l'option "Use Windows PowerShell Policy setting" afin que PowerShell 7 utilise la même stratégie d'exécution des scripts que Windows PowerShell. Ainsi, la configuration est homogène entre les deux versions.

Quand vous cochez cette option, vous devez tout de même choisir une valeur pour "Execution Policy" mais celle-ci ne sera pas prise en compte (mettez le plus restrictif malgré tout, pas comme sur cet exemple).

GPO politique exécution PowerShell 7 Core

De ce fait, en plus de configurer ce paramètre, vous devez configurer la stratégie d'exécution de Windows PowerShell. Il s'agit du paramètre "Activer l'exécution des scripts". La stratégie recommandée est "AllSigned" pour autoriser uniquement les scripts signés.

Quand c'est fait, votre GPO est prête ! Enfin, vous pouvez également vous intéresser aux autres paramètres...

Sur un poste de travail où il y a Windows PowerShell et PowerShell, nous pouvons voir que la stratégie "MachinePolicy" est bien identique grâce à la stratégie de groupe !

IV. Conclusion

Grâce à ce tutoriel, vous êtes en mesure de configurer PowerShell 7 par stratégie de groupe ! Si vous aviez déjà une GPO pour Windows PowerShell et que vous utilisez également PowerShell Core, il est fortement recommandé d'appliquer cette configuration.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.