Description
Cette formation a pour objectif de permettre aux participants de maîtriser PowerShell pour automatiser, analyser et administrer efficacement des environnements Windows. Elle couvre la prise en main du langage, la manipulation des objets PowerShell, l’écriture de scripts simples puis avancés, la gestion des erreurs et l’interaction avec des composants externes tels que .NET, COM et des services web.
Les participants apprendront à exploiter pleinement la logique orientée objet de PowerShell, à structurer des scripts robustes et maintenables, à automatiser des tâches d’administration et d’analyse, et à concevoir des outils réutilisables adaptés aux besoins réels des équipes IT.
Objectifs
- Connaître et comprendre la philosophie du langage PowerShell
- Construire vos propres outils et modules
- Maîtriser le scripting en PowerShell
- Proposer des interfaces via l’environnement .NET et COM
Récapitulatif
Public
Techniciens, administrateurs et ingénieurs systèmes.
Prérequis
Disposer des connaissances sur les systèmes d’exploitation Windows (poste de travail et serveur) et d’un langage de script ou de programmation sont nécessaires.
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 au langage PowerShell
- Présentation générale de PowerShell et de ses usages
- Principe des commandes et de l’enchaînement par pipeline
- Identification et consultation de l’aide des commandes
- Découverte de l’éditeur PowerShell
- Travaux Pratiques : Prise en main de l’environnement PowerShell et de son éditeur. Exécution de commandes standards pour interroger le système (processus, services, disques, comptes Active Directory). Chaînage de commandes pour afficher et exploiter des informations système
Manipulation des objets PowerShell
- Analyse de la structure des objets, exploration avec Get-Member
- Choix et affichage des propriétés utiles
- Filtrer et trier les données
- Extraction et sauvegarde des résultats (CSV, XML, JSON…)
- Travaux Pratiques : Étude des propriétés des objets système manipulés par PowerShell. Traitement et synthèse de données issues des services et processus. Export des résultats vers des fichiers CSV et HTML pour une consultation via navigateur web
Bases du scripting avec PowerShell
- Utilisation des variables et des tableaux
- Introduction aux expressions régulières
- Opérateurs de calcul, de comparaison et de redirection
- Boucles et structures conditionnelles
- Organisation d’un script simple : entrée, traitement, sortie, paramètres de base
- Travaux Pratiques : Développement d’un script d’analyse de fichiers journaux liés aux connexions utilisateurs. Extraction d’informations clés et génération d’un résumé automatisé
Scripting avancé en PowerShell
- Création de fonctions réutilisables, gestion des paramètres et des valeurs par défaut
- Création et utilisation de modules pour regrouper des fonctions et les partager facilement
- Utilisation des providers PowerShell (système de fichiers, registre, certificats, variables, etc.)
- Gestion plus avancée de fichiers et dossiers (parcours d’arbres, filtrage, renommage, opérations en masse)
- Utilisation de sources d’information du système
- Travaux Pratiques : Création d’un module PowerShell dédié à l’inventaire matériel et logiciel d’un poste Windows. Centralisation des informations collectées dans un rapport structuré
Gestion des erreurs en PowerShell
- Types d’erreurs, configuration de la gestion des erreurs et compréhension des messages
- Utilisation de try/catch/finally pour intercepter et traiter les erreurs dans les scripts
- Utilisation de messages structurés (Write-Verbose, Write-Warning, Write-Error, Write-Information) pour suivre l’exécution
- Notions de journalisation (logs) pour faciliter le diagnostic et le support
- Bonnes pratiques de structuration de scripts : lisibilité, commentaires, aide intégrée (comment-based help)
- Travaux Pratiques : Ajout de contrôles d’erreurs et de messages personnalisés dans les scripts existants. Amélioration du module d’inventaire par l’intégration d’un suivi des anomalies et incidents
Interaction avec .NET, COM et services externes
- Exploitation des bibliothèques .NET depuis PowerShell
- Consommation de services web REST avec Invoke-RestMethod / Invoke-WebReques
- Notions sur SOAP pour comprendre et, au besoin, interagir avec des services plus anciens
- Création d’interfaces graphiques simples
- Travaux Pratiques : Réalisation d’un outil PowerShell avec interface graphique permettant de récupérer des données depuis un service web. Export automatique des informations vers un document Excel ou Word