Objectifs de la formation PowerShell Avancé
Objectif opérationel :
Maîtriser l’environnement de scripts de Microsoft et ses énormes possibilités afin d’utiliser Powershell au quotidien de façon efficace et professionnelle en étant capable d’automatiser des tâches qui répondent à des besoins concrets et récurrents d’exploitation : surveillance système, tableau de bords, envoi d’alertes via des applications tiers (SMS, mail, slack, etc.), transfert sécurisé de bases de données (MySQL, SQL Server, etc.), etc.
Objectifs pédagogiques :
- Mettre en œuvre la technologie DSC (Desired State Configuration) pour « imposer » une configuration identique à vos machines sur la base de fichier texte de configuration, ou d’utilisation de vos propres modules Powershell
- Administrer votre parc à l’aide de workflow (comment orchestrer les phases d’installation, de reboot, etc. ?)
- Utiliser les vastes possibilités d’interfaces entre Powershell et .NET ou COM pour construire des applications PowerShell graphiques et/ou communicantes (Web, Web Services, etc.)
- Mettre en œuvre des jobs pour paralléliser vos traitements de façon efficace
- Sécuriser vos scripts dans un contexte local ou distant
- Automatiser les alertes (SMS, mail, slack, etc.)
À qui s’adresse cette formation ?
Public :
Cette formation s’adresse aux techniciens, administrateurs et ingénieurs systèmes.
Prérequis :
Afin de suivre ce cours, il est nécessaire que les participants connaissent :
- Les bases de PowerShell (variables, fonctions, modules, utilisation des objets, etc.)
- Les systèmes d’exploitation Windows (poste de travail et serveur).
Contenu du cours PowerShell Avancé
Rappels et synthèse sur PowerShell
Manipulation des objets et syntaxe
Exporter les résultats (CSV, XML…)
Création de modules
Utilisation des scripts à distance
Utilisation de .NET pour les interfaces graphiques
Travaux Pratiques :
Script de synthèse reprenant les fondamentaux de la syntaxe et des concepts PowerShell (application graphique permettant d’importer le contenu d’un WebService dans un fichier Office)
Gestion des jobs
Paralléliser les traitements grâce aux jobs
Qu’est-ce qu’un job pour PowerShell ?
Les cmdlets (start-job, get-job, receive-job, etc.)
Cycle de vie d’un job PowerShell
Travaux Pratiques :
Conversion de fichiers en parallèle
Audit des droits (ACL) sur des serveurs distants en parallèle
Utilisation de .NET et COM
Construire de véritables applications avec PowerShell
Utilisation des bibliothèques d’objets pour manipuler les composants du système
Accès à l’internet via PowerShell (Page web, HTML, CSS, WebService SOAP et REST)
Implémentation d’une interface graphique
Pilotage des applications Office
Travaux Pratiques :
Créer une application permettant d’importer le contenu d’un fichier dans un document Office
Utilisation transparente et à distance de plusieurs instances d’Internet Explorer pour tester les performances d’un serveur IIS
Implémentation de PowerShell DSC
Présentation de la validation de conformité à l’aide de PowerShell DSC
Implémentation des modes push / pull
Création d’une ressource DSC
Travaux Pratiques :
Création de module et de ressource DSC afin d’automatiser la mise en conformité de sites WEB (fichier web.config)
Workflow PowerShell
Administrer à l’aide de workflow PowerShell
Implémentation de la parallélisation et de la sérialisation des traitements
Prise en charges de la reprise sur incident
Pravaux pratiques :
Déploiement d’une application à l’aide d’un workflow PowerShell (définition des actions post-installation, post-reboot, etc.), workflow d’audit du réseau)
Gestion de la sécurité des scripts PowerShell
Configuration des stratégies d’exécution
Signature des scripts à l’aide de certificats
Stockage des mots de passe de manière sécurisée
Travaux Pratiques :
Signer un module à l’aide d’un certificat
Automatisation des alertes
Envoi de mail en Powershell
Envoi de SMS en Powershell
Communication avec des applications collaboratives (l’exemple de slack)
Travaux Pratiques :
Scrpt Powershell réalisant une sauvegarde de base MySQL ou SQL Server (au choix du participant) puis transférant cette base sur un autre serveur de façon sécurité (via sftp). Le transfert et l’import sont automatisés de chaque côté. Un message d’erreur (détaillé) ou de succès est envoyé par Slack, mail et SMS afin d’informer du résultat par 3 canaux différents.
Travaux Pratiques
Les travaux pratiques représentent 60% du temps de la formation. Ils ont été conçus dans un esprit pédagogique bien sûr mais aussi pratique afin qu’ils soient réutilisables chez vous en production après la formation et qu’ils correspondent à des besoins récurrents en exploitation.
L’environnement est PowerShell 4 ou 5 au choix mais si vous travaillez sur une version antérieure 2.0 ou 3.0 cette formation demeure pertinente.