Vous êtes sur la page 1sur 12

Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...


09/09/2023 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS
TESTS #LINKSOFTHEWEEK
    TUTOS PO

Plate-forme de cours sur l’administration systèmes et


réseau pour les professionnels de l’informatique

IT-Connect » Cours - Tutoriels » Administration Systèmes » Scripting » Powershell » Comment imposer des prérequis dans ses scripts

a-a-hebergement.com

Powershell

Comment imposer des prérequis dans


ses scripts PowerShell ?
 16/06/2021  Thibault Baheux  2591 Views  Aucun commentaire 

Automatisation, Powershell, Script  5 min read



1 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

 COURS – TUTORIELS S COURS


o mm aire [-]IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

I. Présentation
II. Prérequis
III. L’instruction Requires en PowerShell
A. Quelques exemples
B. Comment ça marche ?
IV. Les paramètres de #Requires en PowerShell
A. -Version
B. -PSEdition
C. -RunAsAdministrator
D. -PSSnapin
E. -Modules

I. Présentation
Vous commencez à avoir une belle collection de scripts PowerShell, mais
vous ne savez jamais comment les lancer ? Pour celui-ci, faut-il avoir les
droits administrateur ? Faut-il le lancer en tant qu’utilisateur classique ?
Doit-on le lancer dans Windows PowerShell version 5.1, ou plutôt dans
PowerShell 7 ? Et côté modules, que faut-il installer sur la machine avant de
lancer ce script ?

Si vous vous posez ces questions à chaque fois que vous souhaitez lancer un
script, alors cet article est pour vous.

Car vous ne le savez peut-être pas, mais il est tout à fait possible d’iimposer
des prérequis à respecter dans un script PowerShell, sous peine de quoi
le script refusera de se lancer, car les prérequis ne sont pas respectés.

Annonce

Java Word APIs to Create,


Edit, Convert and Print
Word Documents with Hight
Quality

OPEN

2 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

Plus besoin d’ouvrir le script dans un éditeur et de le parcourir pour véri�er


 COURS – TUTORIELS  COURS IT ACTUALITÉS 
quels sont les prérequis en fonction des commandes inscrites.
BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

II. Prérequis
▪ Windows PowerShell version 5.1 ou PowerShell 7

III. L’instruction Requires en


PowerShell
A. Quelques exemples
Certains d’entre vous ont contourné le problème en ajoutant dans un
commentaire en début de script que celui-ci doit être lancé en tant
qu’administrateur. D’autres font un test en début de script pour véri�er si la
session PowerShell est une session de type administrateur ou non.

Mais ces solutions ne sont pas viables : l'une oblige à modi�er le script et
consulter les commentaires systématiquement avant de le lancer, l'autre est
plutôt lourde à coder et en fonction de votre environnement (notamment
pour PowerShell Core sur des machines autres que Windows), votre code
pourrait ne pas fonctionner.

Il y a pour tant bien plus simple : l’instruction Requires.

Il s’agit d’une instruction très simple, qui demande à PowerShell de véri�er


avant toute exécution du script les prérequis listés :

▪ La version minimum de PowerShell à utiliser


▪ Les modules qui doivent être préalablement installés, ainsi que leur version
▪ L’édition de PowerShell (Desktop ou Core) à utiliser
▪ Une session PowerShell ouverte en tant qu’administrateur

L’un de ces prérequis n’est pas respecté ? Le script refuse de se lancer.


Par exemple, j’ai ici ajouté une instruction demandant à être administrateur,
mais j’ai lancé mon script en tant qu’utilisateur.


3 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

Annonce
 COURS – TUTORIELS  COURS IT
Powerful Office Viewer
ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

API

OPEN

Autre exemple : cette fois, j’ai indiqué que le prérequis était de lancer le
script sur une édition Desktop. Autrement dit, il ne peut se lancer que sur
Windows PowerShell.

Pour le véri�er, j’ai tenté de lancer le script sur PowerShell édition Core
(version 7), et sur Windows PowerShell (édition Desktop, version 5.1). Et
voici le résultat :

B. Comment ça marche ?
Concrètement, comment ça marche ? Vous allez voir, c’est d’une simplicité
enfantine.

Il vous suf�t d’aajouter l’instruction #Requires dans votre script, suivi du


paramètre choisi.

Si vous avez plusieurs prérequis différents à respecter, par exemple lancer


un script en tant qu’administrateur tout en utilisant PowerShell version 5.1
minimum, il vous faudra mettre chaque instruction sur une ligne séparée. Et
... C’est tout !


4 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

Vous pouvez glisser cette instruction n’importe où dans votre script, mais je
vous conseille pour des raisons de maintenabilité de l’ajouter au début.
Avant toute exécution de votre script, PowerShell va chercher si une
instruction #Requires est présente, et si c’est le cas, va véri�er que les
prérequis sont bien respectés.

 Note : Veillez bien à respecter le # avant le Requires. Bien que


le dièse est habituellement utilisé pour ajouter des
commentaires, cette instruction ne fonctionnera pas sans.
Voyez ça comme un commentaire spécial.

IV. Les paramètres de #Requires en


PowerShell
Vous pouvez utiliser les paramètres suivants avec l’instruction Requires :

A. -Version
Ce paramètre sert à spéci�er la version minimum de PowerShell à respecter
a�n de pouvoir lancer le script. Vous pouvez indiquer une version majeure
(par exemple 5), ou une version mineure, par exemple 5.1.

#Requires -Version 5.1

PowerShell devra être à minima en version 5.1 pour lancer ce script.

#Requires -Version 7

5 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

PowerShell devra être à minima en version 7 a�n d'exécuter ce script.


 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

B. -PSEdition
Ce paramètre sert à spéci�er l'édition de PowerShell à respecter. Pour
rappel, si vous utilisez PowerShell en version 5.1, ou via Windows
PowerShell (la version préinstallée sur votre OS), vous êtes en édition
Desktop. Si vous utilisez PowerShell en version 7, ou sur un Linux / MacOS,
vous êtes en version Core.

#Requires -PSEdition Desktop

Impose l'utilisation de Windows PowerShell pour lancer le script.

#Requires -PSEdition Core

Impose l'utilisation de PowerShell en version Core. A privilégier pour les


scripts cross-platform.

 Note : Vous pouvez coupler ce paramètre avec le paramètre


-Version a�n d'avoir un contrôle plus �n sur vos prérequis.

C. -RunAsAdministrator
Sans nul doute le paramètre qui vous servira le plus souvent, et qui vous
permet d'imposer qu'une session soit lancée en tant qu'administrateur pour
que le script s'exécute.

#Requires -RunAsAdministrator 
6 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

D. 
-PSSnapin
COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

Ce paramètre sert à préciser les snap-ins requis pour l'exécution du script.


Vous pouvez également indiquer, sur la même ligne (et de manière
optionnelle) la version du snap-in à utiliser.

#Requires -PSSnapin DiskSnapin -Version 1.2

 Note : Pour tout savoir sur les snapins, rendez-vous ici.

E. -Modules
Ce paramètre sert à spéci�er les modules devant être installés sur votre
machine préalablement avant l'exécution du script . Le module est absent
? Le script refuse de s'exécuter.

Optionnellement, vous pouvez préciser la version minimum, la version


exacte ou la version maximum à utiliser pour ce module. Petite précision
d'importance : vous ne pouvez utiliser qu'un seul de ces paramètres à la fois,
à vous donc de choisir celui qui se rapproche le plus de ce que vous
souhaitez faire.

Voici quelques exemples :

#Requires -Modules ActiveDirectory

➡ Le module ActiveDirectory doit être installé.

#Requires -Modules ActiveDirectory, AzureAD


7 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

➡ Les modules ActiveDirectory & AzureAD doivent être préalablement


installés.

#Requires -Modules @{ModuleName= "AzureRM.Netcore" ;


ModuleVersion= "0.12.0"}

➡ Le module AzureRM.Netcore doit être présent minimum en version


0.12.0.

#Requires -Modules @{ModuleName= "AzureRM.Netcore" ;


RequiredVersion= "0.12.0"}

➡ Le module AzureRM.Netcore doit être présent exactement en version


0.12.0.

#Requires -Modules @{ModuleName= "AzureRM.Netcore" ;


MaximumVersion= "0.12.0"}

➡ Le module AzureRM.Netcore doit être présent et au maximum en version


0.12.0.

 Note : Si l'on souhaite préciser la version du module à utiliser,


on passe cette information en plus du nom dans une hashtable
: la notation @{}

Vous l’aurez compris, plus besoin de vous lancer dans des tests compliqués
en début de script pour véri�er les modules installés ou non, si la session
est une session administrateur, etc. 
8 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

Avec l’iinstruction Requires, vous allez littéralement vous simpli�er la vie !


 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

Par tagez cet ar ticle

MICROSOFT W I N D OW S 1 1
DEFENDER FOR PROPOSE UNE
ENDPOINT VA NOUVELLE MANIÈRE
DÉTECTER LES D’ORGANISER LES
IPHONE ET IPAD FENÊTRES
JAILBREAKÉS

Thibault Baheux
Responsable Infrastructure IT, Geek, Manager de geeks, Je
travaille au quotidien sur une infra Cloud privée / Cloud Azure,
aussi bien Windows que Linux. Je me passionne pour Azure, la
sécurité IT, le management de projets & la programmation objet
(PowerShell / Python). Si je ne suis pas derrière mon clavier,
vous me trouverez dans une salle de blocs ou devant un bon
mur d’escalade.


thibault-baheux has 14 posts and counting.
See all posts by thibault-baheux

 Vous pourrez aussi aimer


9 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

Comment modi�er PowerShell : Active Directory :


un document Word comment créer une ajouter un
via PowerShell ? propriété calculée utilisateur à un
 01/09/2022  1 avec Select-Object ? groupe pour une
 29/03/2021  0 durée limitée
 01/06/2021  5

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

Commentaire *

Nom *

E-mail *

Site web


10 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

Enregistrer mon nom, mon e-mail et mon site dans le navigateur pour mon
 COURS – TUTORIELS 
prochain commentaire.
COURS IT ACTUALITÉS  BONS PLANS TESTS #LINKSOFTHEWEEK TUTOS PO

Laisser un commentaire

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

Vous cherchez quelque chose ? Découvrir IT- Espace Recommandations


Connect personnel
Blogmotion
Recherche Délibérata
A propos Inscription
Tech2tech
Comment contribuer Connexion Générateur de mots de

sur IT-Connect ? passe
Flux des publications
Contact

Espace annonceurs

L’Equipe

Offres d’emploi

Politique de
con�dentialité

Soutenir IT-Connect


11 sur 12 10/09/2023, 00:37
Comment imposer des prérequis dans ses scripts PowerShell ? | IT-Connect https://www.it-connect.fr/comment-imposer-des-prerequis-dans-ses-scri...

 COURS – TUTORIELS  COURS IT ACTUALITÉS  BONS PLANS TESTS


 #LINKSOFTHEWEEK
    TUTOS PO

report this ad

IT-Connect - Copyright © 2023 | Creative Commons License BY-


NC-ND 4.0


12 sur 12 10/09/2023, 00:37

Vous aimerez peut-être aussi