Formation Powershell : Maîtrisez l’automatisation et l’administration système
| 2 390€ HT / personne |
| 3 jours (21 heures) |
Présentation
Notre formation PowerShell s’adresse aux administrateurs et techniciens système qui souhaitent apprendre à automatiser les tâches courantes et à administrer des machines Windows, localement et à distance.
Cette formation propose une progression allant de la découverte des cmdlets à la création d’un outil d’administration réutilisable. Vous apprendrez à rechercher les commandes, à manipuler les objets du pipeline et à exploiter des fichiers CSV et JSON pour produire des rapports.
Vous développerez des scripts paramétrés intégrant des conditions, des boucles et une gestion des erreurs avec try / catch / finally. Vous découvrirez ensuite les fonctions avancées : validation des paramètres, traitement du pipeline, documentation et prise en charge de -WhatIf et -Confirm.
La formation aborde également l’administration à distance avec PSRemoting, la collecte d’informations système, le diagnostic des problèmes de connexion et la planification des scripts. Un atelier de synthèse vous permettra de construire un outil d’inventaire de plusieurs machines, avec gestion des erreurs et export des résultats.
Comme toutes nos formations, celle-ci vous présentera la dernière version stable de la technologie PowerShell (7.5.5) et ses nouveautés.
Objectifs
- Rechercher et utiliser les cmdlets en s’appuyant sur l’aide intégrée.
- Manipuler les objets du pipeline, filtrer les résultats et importer ou exporter des données CSV et JSON.
- Écrire des scripts paramétrés pour automatiser des tâches d’administration courantes.
- Gérer les erreurs avec try / catch / finally et diagnostiquer les problèmes d’exécution.
- Créer des fonctions avancées avec validation des paramètres, prise en charge du pipeline et mécanismes de confirmation.
- Organiser et documenter du code réutilisable dans un module PowerShell.
- Exécuter des commandes sur plusieurs machines avec PSRemoting et gérer les sessions distantes.
- Produire un rapport d’exploitation et préparer l’exécution planifiée d’un script.
Public visé
- Administrateurs systèmes Windows
- Techniciens d’exploitation et de support informatique
- Administrateurs réseau souhaitant automatiser des contrôles et des tâches sur Windows
- Ingénieurs Ops et DevOps souhaitant acquérir les bases du scripting PowerShell
Prérequis
- Connaître les bases de l’administration Windows : fichiers, processus, services et permissions.
- Posséder des notions de réseau : adressage IP, DNS et connectivité.
- Être familiarisé avec l’utilisation d’un terminal et les concepts de ligne de commande.
- Aucune connaissance préalable de PowerShell n’est requise.
Prérequis techniques
- Disposer d’un poste permettant d’accéder à un environnement de laboratoire Windows.
- Utiliser PowerShell 7 et Visual Studio Code avec l’extension PowerShell pour les exercices.
- Disposer des droits administrateur sur les machines de laboratoire pour les ateliers qui le nécessitent.
- Avoir accès à au moins deux machines Windows reliées en réseau pour les exercices d’administration à distance avec PSRemoting.
- Prévoir un accès Internet pour l’installation des outils et la consultation de la documentation, sauf si les ressources sont préparées à l’avance.
Programme de formation PowerShell — Administration et automatisation en 3 jours
[Jour 1 – Matin]
Prise en main de PowerShell et découverte des commandes
- Comprendre le rôle de PowerShell dans l’administration système et l’automatisation
- Distinguer Windows PowerShell 5.1 et PowerShell 7 : plateformes, usages et compatibilité des modules
- Préparer l’environnement de travail : terminal, PowerShell 7 et Visual Studio Code
- Comprendre la syntaxe des cmdlets : convention Verbe-Nom, paramètres et aide
- Rechercher les commandes avec Get-Command et consulter leur documentation avec Get-Help
- Découvrir le modèle objet avec Get-Member : propriétés et méthodes
- Utiliser le pipeline pour transmettre des objets entre les commandes
- Atelier pratique : Rechercher les commandes permettant d’inventorier les processus et les services, puis examiner les objets obtenus.
[Jour 1 – Après-midi]
Manipulation des objets, des fichiers et des données
- Utiliser les variables, les types courants, les tableaux et les tables de hachage
- Manipuler les chaînes de caractères et les opérateurs de comparaison
- Filtrer, sélectionner, trier et mesurer avec Where-Object, Select-Object, Sort-Object et Measure-Object
- Traiter les objets du pipeline avec ForEach-Object
- Distinguer les objets exploitables des sorties de présentation produites par Format-Table et Format-List
- Manipuler les fichiers et dossiers : navigation, lecture, création, copie et recherche
- Importer et exporter des données avec Import-Csv, Export-Csv, ConvertTo-Json et ConvertFrom-Json
- Atelier pratique : Filtrer un inventaire de fichiers et de services, puis produire un rapport CSV réutilisable.
[Jour 2 – Matin]
Écriture de scripts et gestion des erreurs
- Créer et exécuter un script .ps1 ; comprendre les stratégies d’exécution et leurs limites
- Définir les paramètres d’un script avec param() et utiliser des chemins adaptés à son emplacement
- Construire les traitements avec if / elseif / else, switch, foreach et while
- Distinguer les erreurs terminantes et non terminantes
- Gérer les exceptions avec try / catch / finally et rendre une erreur non terminante interceptable avec -ErrorAction Stop
- Exploiter les informations d’erreur et signaler un échec avec throw
- Utiliser les messages Write-Verbose, Write-Warning et Write-Error pour faciliter le diagnostic
- Déboguer un script avec des points d’arrêt dans Visual Studio Code
- Atelier pratique : Écrire un script de traitement de fichiers qui contrôle ses entrées, gère un fichier absent et consigne les erreurs rencontrées.
[Jour 2 – Après-midi]
Fonctions avancées et réutilisation du code
- Décomposer un script en fonctions et comprendre la portée des variables
- Créer une fonction avancée avec [CmdletBinding()] et param()
- Définir des paramètres typés, obligatoires et validés avec [Parameter()], ValidateSet et ValidateNotNullOrEmpty
- Accepter des données du pipeline et utiliser les blocs begin, process et end
- Retourner des résultats structurés avec [PSCustomObject]
- Implémenter SupportsShouldProcess et $PSCmdlet.ShouldProcess() pour prendre en charge -WhatIf et -Confirm
- Documenter une fonction avec l’aide intégrée aux commentaires
- Regrouper des fonctions dans un module .psm1 et contrôler les fonctions exportées
- Atelier pratique : Transformer un script en fonction avancée, valider ses paramètres et vérifier le comportement de -WhatIf avant de l’intégrer à un module.
[Jour 3 – Matin]
Administration à distance avec PSRemoting
- Comprendre PSRemoting, les connexions WinRM / WSMan sous Windows et le principe du remoting sur SSH avec PowerShell 7
- Identifier les prérequis : connectivité, authentification, permissions et configuration des points de terminaison
- Configurer et vérifier le remoting dans l’environnement de laboratoire avec Enable-PSRemoting et Test-WSMan
- Ouvrir une session interactive avec Enter-PSSession
- Exécuter des commandes sur plusieurs machines avec Invoke-Command
- Créer, réutiliser et fermer des sessions avec New-PSSession et Remove-PSSession
- Transmettre des paramètres aux commandes distantes et comprendre la sérialisation des résultats
- Diagnostiquer les erreurs de connexion et appliquer le principe du moindre privilège
- Atelier pratique : Collecter l’état des services sur plusieurs machines Windows et gérer le cas d’une machine inaccessible.
[Jour 3 – Après-midi]
Automatisation de l’administration et atelier de synthèse
- Collecter des informations système avec Get-CimInstance et consulter les événements Windows avec Get-WinEvent
- Contrôler les processus et les services avec les cmdlets adaptées
- Vérifier la connectivité avec Test-Connection et Test-NetConnection sous Windows
- Construire un rapport d’exploitation à partir d’objets structurés
- Planifier l’exécution d’un script avec le Planificateur de tâches Windows : compte d’exécution, arguments et suivi des résultats
- Fiabiliser une automatisation : contrôles préalables, journalisation, gestion des erreurs et absence de secrets en clair
- Atelier de synthèse : Construire un outil d’inventaire de plusieurs machines combinant fonction avancée, PSRemoting, try/catch et export CSV.
- Validation des acquis : Tester les paramètres invalides et les machines inaccessibles, puis préparer l’exécution planifiée du script.
Pour aller plus loin
Formation Docker
Formation Kubernetes
Formation Ansible
Autour du sujet
Langues et Lieux disponibles
Langues
- Français
- Anglais / English
Lieux
-
France entière
- Paris
- Lille
- Reims
- Lyon
- Toulouse
- Bordeaux
- Montpellier
- Nice
- Sophia Antipolis
- Marseille
- Aix-en-Provence
- Nantes
- Rennes
- Strasbourg
- Grenoble
- Dijon
- Tours
- Saint-Étienne
- Toulon
- Angers
-
Belgique
- Bruxelles
- Liège
-
Suisse
- Genève
- Zurich
- Lausanne
-
Luxembourg
Le(s) Formateur(s)
Afficher tous les témoignages
⭐⭐⭐⭐⭐ 4,8/5 sur Google My Business. Vous aussi, partagez votre expérience !
Noter la formation
| 2 390€ HT / personne |
| 3 jours (21 heures) |
UNE QUESTION ? UN PROJET ? UN AUDIT DE CODE / D'INFRASTRUCTURE ?
Pour vos besoins d’expertise que vous ne trouvez nulle part ailleurs, n’hésitez pas à nous contacter.
ILS SE SONT FORMÉS CHEZ NOUS


























































