Vous avez suivi la formation PowerShell - Niveau Initiation et vous souhaitez approfondir vos connaissances sur PowerShell ? Grâce à cette formation PowerShell - Niveau Avancé, vous allez non seulement approfondir vos connaissances, mais vous allez également apprendre à rendre vos scripts plus intelligents.
Vous allez découvrir le langage PowerShell et vous allez apprendre à développer des outils et à automatiser les tâches grâces aux différents concepts que vous allez apprendre.
Vous apprendrez à utiliser les variables de façon plus approfondi, vous découvrirez les différents types de données et vous apprendrez à créer et à manipuler une collection d’objet.
Vous apprendrez à manipuler les structures conditionnelles, les structures répétitives et vous saurez ainsi donner de l’intelligence à vos scripts.
Vous apprendrez à gérer les erreurs, à créer des fonctions et vous apprendrez à écrire dans les différents flux grâce au verbe Write-*.
Les Jobs, Les dates, ainsi que la manipulation des données HTML, JSON, CSV et XML n’auront plus de secret pour vous.
Vous apprendrez à personnaliser les propriétés des objets et vous apprendrez à créer vos propres objets personnalisés.
Le but de cette formation est avant tout de vous apprendre à développer des outils et à automatiser les tâches. Vous apprendrez donc à développer une console d’administration simple, à faire un inventaire des logiciels installés sur Windows, et à convertir plusieurs fichiers Word en PDF.
Vous terminerez la formation par apprendre à manipuler Excel avec PowerShell.
3. Une formation
Introduction
1. Langage PowerShell
2. Variables
3. Types de données
4. Tableaux
5. Structures conditionnelles
6. Structures répétitives (Boucles)
7. Erreurs & Exceptions
Plan de la formation
4. Une formation
8. Fonctions
9. Ecrire dans les différents Flux / Write-*
10. Les jobs - Travaux en arrière plan
11. Manipuler les Dates
12. Manipuler des données HTML, JSON,
CSV, XML
13. Objets
14. Mettre en pratique les acquis
Conclusion
Plan de la formation
11. Une formation
Langage de script orienté objet
Insensible à la casse
Syntaxe simple
Facile à apprendre
Développer des outils et automatiser
Langage PowerShell
12. Une formation
Un script PowerShell est un fichier
portant l'extension *.ps1
Un Script PowerShell est un ensemble
d'instructions
Script PowerShell
14. Une formation
PowerShell vous offre la possibilité
d'utiliser les objets COM pour
interagir avec d'autres applications
Possibilité d'utiliser les classes du
Framework .Net
Objet COM et .Net
16. Une formation
Un commentaire permet de décrire et
d'expliquer des parties de votre script
Très utile lorsque vous partagez votre
Script
Utilité des commentaires
17. Une formation
Permet de désactiver une instruction
ou un bloc d'instructions
Utilité des commentaires
21. Une formation
La directive #Requires permet
d'imposer des prérequis pour que
votre Script puisse s'exécuter
Si les prérequis ne sont pas respectés,
le Script ne pourra pas s'exécuter
Directive #Requires
22. Une formation
Pour imposer une version minimale
de PowerShell installée sur votre
système
#Requires -Version 6
Exemple
23. Une formation
Pour imposer que votre Script soit
exécuté en tant qu'administrateur
#Requires -RunAsAdministrator
Exemple
24. Une formation
Pour imposer la présence d'un
module sur votre Système
#Requires -Module PSReadLine
Exemple
26. Une formation
Une variable est une donnée de votre
script stockée en mémoire vive (RAM)
Elle peut changer de valeur à tout
moment au cours de l'exécution de
votre script
Pour rappel
42. Une formation
Portée des variables
Portée parent
$Ville = "Paris"
Portée enfant
$Ville #Accessible en lecture
$Ville #La variable ne peut pas être modifiée
$Var_Enfant = "Test" #La variable n'est pas accessible depuis la
portée parent
44. Une formation
Le type de données détermine le type
d'objet que va contenir votre variable
PowerShell est un langage à typage
dynamique, il reconnait
automatiquement le type d’une
donnée
Introduction
45. Une formation
Il est préférable pour éviter les
confusions, de forcer le type d'une
donnée
Introduction
58. Une formation
Un chiffre entre guillemet est une
chaine de caractères
$var = "1"
Pour effectuer des opérations sur ce
chiffre, il faudra le convertir en entier
Exemple
60. Une formation
Un tableau est une structure de
données qui permet de référencer
plusieurs objets
Un tableau est une collection d'objets
Qu'est ce qu'un tableau ?
69. Une formation
Les structures conditionnelles
permettent de tester une condition
avant de prendre une décision
Utilité
70. Une formation
SI la voiture est bleu, ALORS j'achète
la voiture
SINON j'achète pas la voiture
Exemple de la vie courante
71. Une formation
SI la taille du fichier est supérieur à 2
MO, ALORS le fichier sera compressé
SINON le fichier ne sera pas
compressé
Exemple Informatique
79. Une formation
Si vous avez beaucoup de conditions
à tester avec elseif, mieux vaut utiliser
switch qui améliore la lisibilité de
votre script et qui offre plus de
souplesse
Pourquoi utiliser switch
86. Une formation
A la différence de While, avec Do-
While on est sûr d'exécuter
l'instruction au moins une fois même
si la condition n'est pas respectée
Do-While
87. Une formation
Il faut privilégier l'utilisation de do
while pour répéter une instruction
jusqu'à ce que la condition devienne
négative (False)
Pourquoi utiliser Do-While
90. Une formation
Avec do until, on est sûr d'exécuter
l'instruction au moins une fois même
si la condition n'est pas respectée
Do-Until
91. Une formation
Il faut privilégier l'utilisation de do
until pour répéter une instruction
jusqu'à ce que la condition devienne
positive (True)
Pourquoi utiliser Do-Until
107. Une formation
Les erreurs non critiques ne mettent
pas fin à l'exécution du script et sont
plus considérées comme des
avertissements
Erreurs non critiques
111. Gérer les erreurs critiques
avec le bloc try catch
finally
Une formation
John Mike
112. Une formation
Pour gérer une erreur critique, il faut
définir le paramètre commun
ErrorAction ou la variable
$ErrorActionPreference à la valeur
stop
Gérer une erreur critique
118. Une formation
Comme son nom l'indique, il s'agit de
fonction simple avec une structure
simple
Les paramètres communs ne sont pas
utilisables avec les fonctions simples
Fonctions simples
119. Une formation
Fonction permettant de reproduire le
comportement d'une cmdlet
Prise en charge des paramètres
communs
Fonction plus structurée, plus
maintenable, etc…
Fonctions avancées
127. Une formation
Permet de rendre une variable ou une
fonction réutilisable autant de fois
que nécessaire depuis la console
PowerShell dans la portée courante
Intérêt
128. Une formation
Votre script se lancera et les variables
et fonctions ne seront plus utilisables
après la fin de l'exécution du script
dans la console PowerShell
Sans DotSourcing
129. Une formation
Votre script se lancera et les variables
et fonctions seront toujours utilisables
après la fin de l'exécution du script
dans la console PowerShell
Avec DotSourcing
130. Une formation
Exécuter un script sans DotSourcing
./NomScript.ps1
Exécuter un script avec DotSourcing
. ./NomScript.ps1
Comment l'utiliser ?
132. Une formation
L'opérateur de redirection > permet
de rediriger le flux vers un fichier
Pour rediriger le flux des erreurs, on
utilise 2>
Pour rappel
134. Une formation
Le flux 0 correspond au flux d'entrée à
partir duquel la console PowerShell
reçoit les données
Par exemple, le clavier
Flux 0 : Entrée Standard
135. Une formation
Le flux 1 correspond au flux de sortie
standard par défaut à partir duquel
les données sont affichées
Par exemple, la console PowerShell
Flux 1 : Sortie Standard
142. Une formation
Par défaut, c'est la console PowerShell
qui reçoit tous les flux
Il est important de bien choisir le flux
de vos messages pour mieux les
rediriger
Et donc ?
143. Une formation
Si vous savez que vous devez envoyer
un message d'avertissement, il est
important d'utiliser la Cmdlet Write-
Warning
Exemple
144. Une formation
Une meilleure cohérence pour le
traitement des redirections
En utilisant le bon flux, vous pourrez
mieux rediriger les flux
Intérêt
145. Une formation
C'est grâce aux différentes Cmdlets
Write-*
Comment faire pour utiliser
le bon flux ?
154. Une formation
Pour que les messages verbeux
s'affiche à la console, le paramètre
Verbose ou la variable de préférence
$VerbosePreference doivent être
activés
Write-Verbose
156. Une formation
Si vous créez une fonction avec
plusieurs étapes, il est préférable
d'utiliser Write-Verbose pour
commenter chaque étape du
traitement
Exemple
159. Une formation
Pour que le message de debug soit
affiché à la console, le paramètre
Debug ou la variable de préférence
$DebugPreference doivent être
activés
Write-Debug
163. Une formation
Write-Host envoie directement les
sorties à la console PowerShell
Possède plusieurs paramètres
permettant de personnaliser la sortie
Write-Host
165. Une formation
Séparation des flux en fonction du
type de message
Utilisez toujours le bon flux en
fonction du type de message à
envoyer
Conclusion
166. Une formation
N'utilisez jamais Write-Host pour
écrire un message d'erreur mais
utilisez plutôt Write-Error
Exemple à ne pas faire
168. Une formation
Les Jobs permettent d'envoyer un
traitement qui prend beaucoup de
temps en arrière plan
Définition
169. Une formation
Lorsque vous exécutez une action,
votre console PowerShell est bloquée
en attendant la fin du traitement
En envoyant un traitement en arrière
plan, vous récupérez directement la
main sur la console PowerShell
Intérêts
170. Une formation
Vous n'avez plus besoin d'attendre la
fin d'un traitement pour lancer un
autre traitement
Vous pouvez exécuter plusieurs
traitement en parallèle
Intérêts
189. Une formation
Fonctions
Ecrire dans les différents Flux / Write-*
Les jobs - Travaux en arrière plan
Manipuler les Dates
Manipuler des données HTML, JSON, CSV,
XML
Objets
Mettre en pratique les acquis
Bilan