Déroulé
Pourquoi les scripts
Historique PowerShell
Documentation PowerShell
C’est quoi un script ?
Objets
La console PowerShell
Les variables
Quelques opérateurs
Boucle While (tant Que)
Boucle Do-Until (faire jusqu’à)
Boucle For
Formation professionnelle des adultes 1
Déroulé
La condition if
La condition if else
Opérateurs logiques
Référence sur internet
Formation professionnelle des adultes 2
Pourquoi les scripts
Permettre de gagner du temps en automatisant des tâches longues
et/ou fastidieuses qui doivent être répétées.
Ex: création de comptes utilisateurs sur un serveur.
Les scripts permettent de supprimer les erreurs induites par un
traitement manuel ➔ augmentation de la qualité de service à
travers de bonnes pratiques au sens ITIL (Information Technology
Infrastructure Librairy).
Formation professionnelle des adultes 3
Pourquoi les scripts
Formation professionnelle des adultes 4
Historique PowerShell
Vers 2004-2005 Microsoft est conscient
des limites de son système d’exploitation
basé quasi exclusivement sur l’interface
graphique.
Bill Gates débauche Jeffrey Snover de
chez Digital Digital Equipment
Corporation (DEC) pour mettre au point
un langage script permettant la gestion
des systèmes d’exploitation Windows.
Formation professionnelle des adultes 5
Historique PowerShell
La 1e version sort en 2006.
Depuis, tous les produits de la gamme
System Center sont totalement
administrables avec PowerShell.
Aujourd’hui, des éditeurs tels que
VMware, Citrix, HP, IBM, NetApp
proposent des modules ou des snap-ins
pour gérer leurs logiciels ou leurs
matériels via PowerShell.
Formation professionnelle des adultes 6
Historique PowerShell
A partir de la version 6.0 PowerShell est
multiplateforme.
On peut l’installer sous Linux et Mac OS.
Ceci est possible grâce au « portage » du
Framework .NET avec notamment une
version open source appelée .NET Core.
Formation professionnelle des adultes 7
Historique PowerShell
Un framework est un ensemble d’outils et
de composants logiciels formant un
canevas (squelette de programme).
Il est souvent fourni sous la forme d’une
bibliothèque logicielle.
Les commandes CMD sont utilisables à
partir de PowerShell.
Formation professionnelle des adultes 8
Historique PowerShell
Les commandes PowerShell sont conçues
sur le même modèle car elles héritent
toutes de la même classe d’objets.
Formation professionnelle des adultes 9
Historique PowerShell
La console PowerShell possède une aide
en ligne.
Pour plus de renseignements, consulter la
page
Prise en charge de l’aide en ligne
Formation professionnelle des adultes 10
Documentation PowerShell
Chapitre 2 – Le système d’aide
Documentation en ligne pour
l’apprentissage de PowerShell
documentation PowerShell 5.1
Formation professionnelle des adultes 11
C’est quoi un script ?
Simple fichier texte dans lequel
s’enchaînent toutes les instructions qui le
composent.
Un script n’est pas compilé (contrairement
aux langages de programmation).
Compiler consiste à transformer en un
binaire directement exécutable par la
machine.
Formation professionnelle des adultes 12
C’est quoi un script ?
Comparé à un langage de programmation,
il faut peu d’instructions pour arriver à
faire la même chose ou des opérations
similaires.
Le code source est toujours accessible.
Formation professionnelle des adultes 13
Objets
PowerShell manipule des objets construits
avec le Framework .NET.
Un objet représente un concept, une idée
ou toute entité du monde physique,
comme une voiture, une personne ou
encore une page d'un livre.
Formation professionnelle des adultes 14
Objets
Un objet est définit par des attributs qui
décrivent sa structure interne.
Les objets communiquent entre eux par le
biais de messages appelés méthodes.
Les attributs et les méthodes sont
« cachés », ils forment une boîte noire.
C’est le principe d’encapsulation.
Formation professionnelle des adultes 15
Objets
La classe décrit la structure interne des
données et elle définit les méthodes qui
s'appliqueront aux objets de même
famille (même classe) ou type. Elle
propose des méthodes de création des
objets dont la représentation sera donc
celle donnée par la classe génératrice.
Formation professionnelle des adultes 16
Objets
Les méthodes sont des procédures ou
fonctions destinées à traiter les données.
Les méthodes acceptent donc
des arguments et peuvent renvoyer
des valeurs.
Formation professionnelle des adultes 17
Objets
Formation professionnelle des adultes 18
La console PowerShell
Touches Description
[Tab]/[Maj][Tab] Réalise la complétion automatique d’un
chemin, nom de commande, paramètre
ou une valeur de paramètre (si le type
est une valeur Enum).
[Echap] Efface la ligne de commande en cours
de frappe.
[Flèche en haut]/[Flèche en bas] Fait défiler l’historique des commandes
déjà frappées.
[Flèche à droite]/[Flèche à gauche] Déplace le curseur sur la ligne de
commande courante.
Formation professionnelle des adultes 19
La console PowerShell
[Ctrl][Flèche à droite] Déplace le curseur vers la droite en passant
d’un mot à l’autre sur la ligne de commande.
[Ctrl][Flèche à gauche] Déplace le curseur vers la gauche en passant
d’un mot à l’autre sur la ligne de commande.
[Début] Ramène le curseur au début de la ligne de
commande.
[Fin] Envoie le curseur à la fin de la ligne de
commande.
[Ctrl] C Met fin à l’exécution de l’instruction courante.
[Ctrl][Pause] Met fin à l’exécution de la console.
Formation professionnelle des adultes 20
Les variables
Déclarer une variable sans préciser son type :
$variable = valeur
Exemple : $var1 = 0
$var1 = $var1 + 5
Cette instruction s’interprète : nouvelle valeur de $var1 égale ancienne valeur de
$var1 à laquelle on additionne 5
Déclarer une variable en précisant son type :
[type]$variable = valeur
Exemple : [int]$VarNumerique = 0 crée la variable appelée $VarNumerique de
type entier.
Formation professionnelle des adultes 21
Les variables
Type Description
Int, Int32, Int64 Représente les entiers dans une plage comprise
entre -2 147 483 648 et 2 147 483 647 inclus.
Le type de données int est stocké comme un
entier de quatre octets (32 bits).
Double Représente les nombres à virgule aussi grands
308
que 10 (positifs ou négatifs), avec une précision
-323
sur 15 chiffres, et aussi petits que 10 (64 bits).
Char Représente n’importe lequel des
65 536 caractères Unicode sur deux octets (16
bits).
String Représente une chaîne sous forme de suite de
caractères Unicode.
Boolean Représente une valeur booléene
(true ou false).
Array Représente un tableau contenant de multiples
valeurs. Un tableau peut contenir des données de
types différents.
Object, PSObject, PSCustomObject Représente un objet généralement personnalisé.
Formation professionnelle des adultes 22
Quelques opérateurs
Opérateur Signification
-eq Égal.
-lt Inférieur à.
-gt Supérieur à.
-le Inférieur ou égal à.
-ge Supérieur ou égal à.
-ne Différent de.
Formation professionnelle des adultes 23
Boucle While (tant Que)
While (<condition>)
{
#bloc d'instructions
}
Ecrire et exécuter votre 1er script PowerShell
Prérequis : autoriser l’exécution des scripts.
Par défaut, l’exécution des scripts n’est pas autorisée sur les système
Windows.
La commande Get-ExecutionPolicy permet de voir la stratégie d’exécution
courante.
Ici Restricted montre que ce n’est pas autorisé.
Formation professionnelle des adultes 24
Boucle While (tant Que)
Pour changer le mode :
Ouvrir une console PowerShell en mode administrateur
Exécuter la commande : Set-ExecutionPolicy RemoteSigned
La stratégie RemoteSigned autorise uniquement l’exécution des scripts
locaux ; les scripts en provenance d’un serveur en dehors de votre zone
de confiance intranet tels que ceux venant d’Internet seront quant à eux
bloqués.
Formation professionnelle des adultes 25
Boucle While (tant Que)
Pour écrire le script
Ouvrir la console ISE :
Clic droit sur la fenêtre Windows
Taper ISE
Sélectionner Windows PowerShell ISE
Formation professionnelle des adultes 26
Boucle While (tant Que)
Pour écrire le script
Cliquer sur « Nouveau script
Formation professionnelle des adultes 27
Boucle While (tant Que)
Pour écrire le script
Lors de la saisie d’une commande, une fenêtre contextuel permet de
choisir la commande après que le verbe ai été écrit. Il en est de même
pour les paramètres
Formation professionnelle des adultes 28
Boucle While (tant Que)
Script
Taper le script qui suit.
Les n° de ligne s’incrémentent automatiquement!
Pour exécuter :
Enregistrer le script,
Cliquer sur Fichier, Exécuter ou clique sur l’icône correspondant
Formation professionnelle des adultes 29
Boucle While (tant Que)
Que fait ce script ?
Que fait la commande $nombre-- ?
Formation professionnelle des adultes 30
Boucle While (tant Que)
Modifiez la ligne Write-Host comme indiqué
La ligne devient :
Write-Host $nombre " " -NoNewline
Formation professionnelle des adultes 31
Boucle While (tant Que)
Exécutez le script.
Que constatez-vous ?
Formation professionnelle des adultes 32
Boucle While (tant Que)
Fermer le script précédent et créer un nouveau script.
Copier le script ci-dessous :
Do
{
[int]$var = Read-Host 'Entrez une valeur entre 0 et 10'
}
While( ($var -lt 0 ) -or ($var -gt 10) )
Exécuter sans sauvegarder en tapant successivement les
valeurs 11, 20, 16, 7.
Que constatez-vous dans le fonctionnement de la console ?
Que fait le script ?
Formation professionnelle des adultes 33
Boucle Do-Until (faire jusqu’à)
Effacer le script.
Copier celui-ci :
Do
{
[int]$var = Read-Host 'Entrez une valeur entre 0 et 10'
}
Until( ($var -ge 0 ) -and ($var -le 10) )
Trouver l’icone pour effacer le volet de la console et effacer la
console.
Exécuter sans sauvegarder en tapant successivement les
valeurs 11, 20, 16, 7.
Que fait le script ?
Formation professionnelle des adultes 34
Boucle Do-Until (faire jusqu’à)
Que fait le script ?
Au niveau résultat, y a-t-il une différence avec le script
précédent ?
Quelle est (ou sont) la différence(s) avec le script précédent ?
Formation professionnelle des adultes 35
Boucle For
La boucle For permet d’exécuter un certain nombre de fois un
bloc d’instructions.
Lorsque l’on utilise une boucle For, on indique une valeur de
départ, une condition de répétition de la boucle ainsi que le
pas d’incrémentation, c’est-à-dire la valeur dont elle est
augmentée à chaque itération.
La syntaxe de la boucle For est la suivante :
For (<initial> ;<condition> ;<incrément>)
{
#bloc d'instructions
}
Formation professionnelle des adultes 36
Boucle For
Son fonctionnement est le suivant :
1. L’expression initiale est évaluée, il s’agit en général d’une
affectation qui initialise une variable.
2. La condition de répétition est évaluée.
3. Si la condition est fausse, l’instruction For se termine.
4. Si la condition est vraie, le bloc d’instructions est exécuté.
5. L’expression est incrémentée avec le pas choisi et l’exécution
reprend à l’étape 2.
Formation professionnelle des adultes 37
Boucle For
Exemple :
$tab = 10..17
For($i=0 ;$i -le 7 ;$i++)
{
$tab[$i]
}
$tab = 10..17 : déclare un tableau à une dimension qui contient les nombres
10, 11, 12, 13, 14, 15, 16, 17.
Le 1er élément du tableau a l’indice 0. On l’écrit $tab[0] . Ici, $tab[0] est égal à
10. De même, $tab[1] est égal à 11, $tab[2] est égal à 12, etc.
Que fait ce script ?
Formation professionnelle des adultes 38
La condition if
If (condition)
{
#bloc d'instructions
}
Exemple :
$var = Read-Host "Entrez un caractère"
If ($var -eq 'A')
{
"Le caractère saisi par l'utilisateur est un 'A'"
}
Formation professionnelle des adultes 39
La condition if else
If (($var1 -eq 15) -and ($var2 -eq 18))
{
# Bloc d'instructions 1
}
Else
{
# Bloc d'instructions 2
}
Formation professionnelle des adultes 40
La condition if else
[int]$var1 = Read-Host 'Saisissez un nombre'
[int]$var2 = Read-Host 'Saisissez un nombre'
If ($var1 -ge $var2)
{
"$var1 est plus grand ou égal que $var2"
}
Else
{
"$var1 est plus petit que $var2"
}
Formation professionnelle des adultes 41
Opérateurs logiques
Les opérateurs logiques permettent de vérifier jusqu’à plusieurs
comparaisons dans une même expression. Par exemple : ($var1 -eq $var2) -
and ($var3 -eq $var4) renverra le booléen true si $var1 est égal à $var2 et
que $var3 est égal à $var4, dans le cas contraire la valeur false sera
renvoyée. Voici la liste des opérateurs logiques disponibles :
Formation professionnelle des adultes 42
Opérateurs logiques
Opérateur Signification
-and ET logique
-or OU logique
-not NON logique
! NON logique
-xor OU exclusif
Formation professionnelle des adultes 43
Opérateurs logiques
PS > (5 -eq 5) -and (8 -eq 9)
False
Faux, car 5 est bien égal à 5, mais 8 n’est pas égal à 9.
PS > (5 -eq 5) -or (8 -eq 9)
True
Vrai, car l’une des deux expressions est vraie, 5 est bien égal à 5.
PS > -not (8 -eq 9)
True
PS > !(8 -eq 9)
True
Vrai, car 8 n’est pas égal à 9.
Formation professionnelle des adultes 44
Référence sur internet
https://www.it-connect.fr/powershell-pour-les-debutants-1ere-partie/
Formation professionnelle des adultes 45
Merci
Formation professionnelle des adultes 46