Les bases du langage
- Le lien entre PowerShell et .NET.
- Principe, fonctionnalité, utilisation des commandes et cmdlets.
- Les pipelines : comportement des flux et leur paramétrage. Simplification du code, le pipelinevariable.
- Les filtres where-objects, les boucles foreach.
- Les variables, les types d'opérateurs.
- Windows ISE : environnement pour scripter.
Travaux pratiques
Utilisation de différentes cmdlets, utilisation du pipe, du pipelinevariable. Utilisation des premières commandes. Utilisation des filtres.
Les types et opérateurs
- Le système de typage, règles de conversion.
- Les variables, définition, portée.
- Les types de base.
- Les expressions régulières. Qualificateur.
- Opérateurs (arithmétique, assignation, logique, chaîne, redirection...).
- Les comparateurs et les collections.
Travaux pratiques
Utiliser des variables, opérateurs et expressions régulières.
Les structures de contrôle et les fonctions
- Structures de contrôle utilisant des cmdlets.
- Structures conditionnelles.
- Boucle for. Boucle while. Boucle foreach.
- Structure d'aiguillage (switch).
- Fonctions, modificateurs d'étendue.
- Phases d'exécution d'une fonction.
- Utilisation des fonctions dans un pipeline.
- Passage d'arguments à un script.
Travaux pratiques
Mise en œuvre des structures de contrôle. Utilisation et paramétrage de fonctions.
Utilisation des cmdlettes et des modules
- Gestion des archives (compress-archive, expand-archive).
- Les cmdlettes Web (invoke-webrequest, invoke-restmethod).
- Les cmdlettes pour gérer vos serveurs et postes de travail (add-computer, restart-computer).
- Les cmdlettes de gestion réseaux (new-net*, get-net*, get-bgprouter...).
- Les cmdlettes d'administration (get-event, start-process....).
- La gestion des fichiers (get-content, tee-object, import-csv, convertto-html et les feuilles de style).
Travaux pratiques
Récupération d'un flux RSS sur Internet. Création d'une page Web avec utilisation d'une feuille de style, d'un script pour géolocaliser les adresses IP connectées sur les postes. Modification des adresses IP à distance, intégration d'ordinateur dans un domaine. Décompression de zip à distance.
Utilisation des objets CIM
- Le modèle de données CIM (Common Information Model). CIM et WMI.
- Nouvelle cmdlet pour gérer le WMi (get-cimstance, new-cimsession...).
- Différence entre get-wmiobject et get-ciminstance.
- Listage des classes WMI, l'aide complète.
- Utilisation des méthodes et propriétés WMI (partages d'un poste, test de présence de machines sur le réseau...).
Travaux pratiques
Retrouver les partages d'un poste. Supprimer des applications à distances, modifier une passerelle à distance. Récupérer des informations.
Utilisation de .NET et COM
- Utilisation des bibliothèques d'objets pour manipuler les composants du système.
- Utilisation de classes du .NET (ping, udp, credential...).
- Les classes system.
- PowerShell et l'interface graphique : présentation XAML.
Travaux pratiques
Création d'un formulaire en XAML. Création d'un script d'authentification sécurisé pour se connecter à des serveurs, script wake on lan.
Gestion des modules PowerShell, des packages
- Fonctionnement d'un module. Lister les modules.
- Le module DHCP, DNS, hyper-V.
- Le module Active Directory.
- Les commandes : trouver, installer des modules (find-module, install-module...).
- Gestion des packages.
Travaux pratiques
Création d'un utilisateur dans l'Active Directory, requête d'objets dans l'Active Directory, installation d'un module chargé sur internet, paramétrage.
Les objets com
- Lister les objets com disponibles.
- Nouvelles performances des objets com.
- Création, modification d'un classeur Excel.
- Ouvrir un fichier PowerPoint, Word.
Travaux pratiques
Création d'un classeur Excel, récupération des données serveurs (espace disque, IP, process, applications...).
Les meilleures cmdlettes et astuces PowerShell
- les commandes : get-random, get-process, get-service.
- Transformer du texte en objet (ConvertFrom-String).
- La commande Psedit.
- Création de liens symbolique (new-item).
- Les commandes de base get-filehash, get-disk, get-hotfix.
- Les commandes et variables : new-guid, new-smbshare, new-timespan.
Travaux pratiques
Création d'un générateur de mot de passe. Contrôle d'intégrité d'un fichier, permission NTFS. Génération d'un compteur temps, création de partage.