Description
Cette formation a pour objectif de permettre aux participants de maîtriser PowerShell afin d’automatiser, administrer et superviser efficacement des environnements Windows et hybrides. Elle couvre les bases du langage PowerShell, sa logique orientée objet, l’utilisation des cmdlets, la manipulation des fichiers et des données structurées, l’écriture de scripts robustes et la gestion des erreurs.
Les participants apprendront à créer des scripts réutilisables, à automatiser des tâches système, à interagir avec le système d’exploitation, les services, les processus, le registre et les événements, ainsi qu’à exploiter PowerShell à distance pour administrer plusieurs machines de manière centralisée et sécurisée.
Objectifs
- Utiliser PowerShell en mode interactif
- Connaître les commandes de base de PowerShell pour un usage quotidien
- Exécuter une séquence de commandes au moyen d’un script simple
- Utiliser les fonctionnalités de traitement en arrière-plan et administrer à distance
- Automatiser l’administration de systèmes avec PowerShell
Récapitulatif
Public
Administrateurs systèmes, ingénieurs DevOps, techniciens IT, développeurs souhaitant automatiser sous Windows.
Prérequis
Expérience des systèmes Windows.
Connaissances de base en ligne de commande et système Windows.
Méthodes et modalités pédagogiques
Formation réalisée en Présentiel, Distanciel ou Dual-Learning selon la formule retenue.
Moyens et supports pédagogiques
Mise à disposition d’un poste de travail sur nos formations en Présentiel.
Mise à disposition de nos environnements de visio sur nos formations en Distanciel
Remise d’une documentation pédagogique numérique pendant la formation
La formation est constituée d’apports théoriques, d’exercices pratiques et de réflexions
Dans le cas d’une formation sur site Entreprise, le client s’engage à avoir toutes les ressources pédagogiques nécessaires (salle, équipements, accès internet, TV ou Paperboard…) au bon déroulement de l’action de formation conformément aux prérequis indiqués dans le programme de formation
Modalités de suivi et d'évaluations
Auto-positionnement des stagiaires avant la formation
Émargement des stagiaires et formateur par 1/2 journée
Exercices de mise en pratique ou quiz de connaissances tout au long de la formation permettant de mesurer la progression des stagiaires
Auto-évaluation des acquis de la formation par les stagiaires
Questionnaire de satisfaction à chaud et à froid à l’issue de la formation
Programme détaillé
Introduction à PowerShell
- Qu’est-ce que PowerShell ?
- Historique, architecture, version Core
- ISE, Terminal, VS Code
- Objectif de l’automatisation
Cmdlets – Utilisation et documentation intégrée
- Syntaxe des cmdlets : Verbe-Nom
- Get-Help, Get-Command, Get-Member
- Premiers exemples concrets
- Navigation de l’aide, exemples, mise à jour
Syntaxes, Chaînages, Wildcards
- Structure d’une commande
- Opérateurs (|, ;, &&, etc.)
- Chaînage de commandes
- Utilisation des jokers : *, ?
Redirections et sorties
- Redirection standard et erreur : >, >>, 2>
- Gestion de la sortie : Out-File, Out-Null
- Gestion du flux de sortie dans les scripts
Langage PowerShell
- Programmation orientée objet (POO)
- Modules PowerShell
- Les dépôts de téléchargement
Gestion des fichiers et des dossiers
- Get-Item, Get-ChildItem, Copy, Move, Remove
- Navigation dans l’arborescence
- Filtres, attributs, création de fichiers
Calculs et manipulation de dates
- Opérations arithmétiques
- Comparaisons de dates
- Objets DateTime et méthodes associées
Mise en forme des résultats
- Format-Table, Format-List, Out-GridView
- Sort-Object, Group-Object
- ForEach-Object
Variables et tableaux
- Définition de variables
- Tableaux et hash tables
- Variables automatiques et spéciales
Tests logiques et expressions régulières
- Comparateurs : -eq, -like, -match, etc.
- Opérateurs logiques : -and, -or, -not
- Utilisation de regex pour filtrer du texte
Scripts PowerShell
- Écriture de fichiers .ps1
- ExecutionPolicy
- Bonnes pratiques de structuration de scripts
- Gérer les interactions (Write /Read)
IF, SWITCH – Outils conditionnels
- Conditions imbriquées
- Syntaxe de switch
- Utilisation dans des scripts réels
Boucles – Pour automatiser intelligemment
- for, foreach, while, do-while, do-until
- Utilisation dans des scripts réels
- Sortie anticipée, interruption
Fonctions et paramètres
- Déclaration de fonctions personnalisées
- Passage et validation de paramètres
- Portée des variables dans les fonctions
Gestion des erreurs
- Try/Catch et/ou Finally
Manipulation de fichiers structurés
- Lecture/écriture : texte, CSV, XML
- Import-Csv, ConvertTo-Xml, Out-File
Les fournisseurs et drives
- Fournisseurs PowerShell (Registry, Cert, Env, FileSystem)
- Navigation avec cd, dir, Set-Location
- Get-PSProvider
- Get-PSDrive
WMI et CIM
- Get-WmiObject, Get-CimInstance
- Requêtes système avancées
- Surveillance de l’état matériel/logique
La base de registre
- Accès au registre : HKLM:, HKCU:
- Lire, écrire, supprimer des clés
- Export/Import de clés
Gestion des services et des processus
- Démarrer, arrêter, interroger des services
- Gérer les processus utilisateurs/système
- Surveillance de l’activité système
Événements et planificateur de tâches
- Lire les journaux (Get-EventLog, Get-WinEvent)
- Réagir aux événements avec Register-ObjectEvent
- Créer et gérer des tâches planifiées
PowerShell à distance (Remoting)
- WinRM, configuration du remoting
- Enter-PSSession, Invoke-Command
- Exécution de scripts à distance
- Gestion des accès et sécurité