Débuter avec PowerShell
Le langage de scripting PowerShell permettant l’automatisation d’un certain nombre de tâches facilite le quotidien des informaticiens. Que vous soyez étudiants, techniciens, administrateurs système, ingénieurs ou que vous souhaitiez simplement découvrir ce qu’est PowerShell, ce livre vous permettra d’apprendre les bases du langage en partant de zéro [...]
[lire le résumé du livre]
Auteur : Jérôme BEZET-TORRES , Damien VAN ROBAEYS
Editeur : Eni
Collection : Ressources informatiques
Date parution : 04/2023CB Google/Apple Pay, Chèque, Virement
Quel est le sujet du livre "Débuter avec PowerShell"
Le langage de scripting PowerShell permettant l’automatisation d’un certain nombre de tâches facilite le quotidien des informaticiens. Que vous soyez étudiants, techniciens, administrateurs système, ingénieurs ou que vous souhaitiez simplement découvrir ce qu’est PowerShell, ce livre vous permettra d’apprendre les bases du langage en partant de zéro et de découvrir l’étendue de ses possibilités.
L’approche des auteurs suit une progression cohérente partant de la découverte du scripting et de son intérêt jusqu’à vous mener vers l’automatisation de tâches avec PowerShell.
Ainsi, après une présentation de l’historique du langage, des outils et des bonnes pratiques à adopter pour démarrer son apprentissage, vous découvrirez les fondamentaux de PowerShell. La notion de cmdlets, les scripts, le pipeline, les objets et les variables n’auront alors plus de secrets. Vous verrez ensuite comment utiliser les conditions et les boucles pour créer des scripts ou des fonctions. Les auteurs vous expliqueront également comment passer des langages CMD ou VBS à PowerShell avant de vous apprendre à gérer les erreurs, les fichiers, les dossiers ou les dates.
Des chapitres vous permettront également d’étudier en quoi PowerShell peut être utilisé pour interagir avec le registre Windows, pour les expressions régulières (Regex) ou encore pour la création d’interfaces graphiques avec Windows Forms.
En fin d’ouvrage, en plus d’un certain nombre d’astuces que les auteurs regroupent dans un chapitre dédié, ils proposent des exemples d’utilisation de PowerShell rapidement transposables dans votre quotidien.
Consultant Modern Workplace chez Metsys, Damien VAN ROBAEYS est reconnu Microsoft MVP (Most Valuable Professional) depuis 6 ans dans la catégorie Cloud and Datacenter Management. Ses domaines d’expertise gravitent autour de l’environnement du poste de travail (Intune, MECM, Microsoft Graph...) et de l’automatisation avec PowerShell. Créateur de la communauté Workplace Ninja France, il anime des sessions et publie régulièrement sur son site systanddeploy.com.
Passionné par l’automatisation, la virtualisation et le déploiement des postes de travail, Jérôme BEZET-TORRES est Consultant Formateur sur les technologies Système et Réseau et professeur d’informatique dans l’Académie de Lyon en BTS SIO option Infrastructure, Systèmes et Réseaux. Il intervient également sur le cycle Ingénieur dans la formation ICS (Ingénieur en Informatique et Cybersécurité). Reconnu MCT (Microsoft Certified Trainer) depuis 10 ans, MVP (Most Valuable Professional) dans la catégorie Cloud and Datacenter Management (depuis 3 ans) et VMware vExpert depuis 3 ans, il fait partie de la communauté française PowerShell (French PowerShell User Group) et est organisateur de la communauté Workplace Ninja France. Il est également auteur pour les Editions ENI.
En suivant ce lien, retrouvez tous les livres dans la spécialité Langages.
Sommaire et contenu du livre "Débuter avec PowerShell"
Avant-propos
- 1. Objectifs du livre
- 2. À qui s'adresse ce livre ?
- 3. Approche du livre
- 4. Connaissances préliminaires
- 5. Comment utiliser ce livre ?
- 6. Remerciements
Scripting et automatisation
- 1. Automatisation : principe et intérêt
- 1.1 Qu'est-ce que l'automatisation ?
- 1.2 Automatisation dans l'informatique
- 2. Scripting et programmation : les alliés de l'automatisation
- 2.1 La programmation
- 2.2 Le scripting
- 2.3 Langage de script vs langage de programmation
- 2.3.1 Langage de programmation (ou langage compilé)
- 2.3.2 Langage de script (ou langage interprété)
Histoire de PowerShell
- 1. Introduction
- 2. Qu’est-ce qu’un shell ?
- 3. DOS, MS-DOS, CMD
- 4. VBScript (VBS)
- 5. Monad (MSH) : prémices de PowerShell
- 5.1 Origine du nom de code Monad
- 5.2 Pourquoi Monad ?
- 6. De PowerShell 1.0 à PowerShell 5
- 7. La suite de PowerShell
- 7.1 PowerShell 6.0 à 6.2
- 7.2 PowerShell 7
Comment apprendre PowerShell ?
- 1. Par où commencer ?
- 2. Transformez vos vieux scripts
- 3. La clé de la réussite : l'autoformation
- 4. Maîtrisez l'anglais technique
- 5. Automatisez votre quotidien
- 6. Ne renoncez jamais
Comment s'améliorer ?
- 1. Testez, faites des erreurs, recommencez
- 2. Ressources sur Internet
- 3. Personnes à suivre pour apprendre
Quelques bonnes pratiques
- 1. Toujours vérifier l'aide proposée par PowerShell
- 2. Get-Member : comprendre ce que contient un objet
- 2.1 Fonctionnement
- 2.2 Lister uniquement les propriétés
- 2.3 Lister uniquement les méthodes
- 3. Get-Command pour trouver la bonne commande
- 4. Commenter son code
- 4.1 Que signifie commenter son code ?
- 4.2 Pourquoi est-ce important ?
- 4.3 Comment commenter son code ?
- 5. Indenter son code
- 5.1 Qu'est-ce que l'indentation ?
- 5.2 Indentation en exemple
- 5.3 Pourquoi indenter le code ?
- 5.4 Règles d'indentation
- 6. Utiliser la saisie semi-automatique ou l'autocomplétion
- 6.1 Pourquoi ?
- 6.2 Fonctionnement
- 6.3 Comment l'utiliser ?
- 7. Majuscules ou minuscules ?
- 8. Ne pas utiliser d'alias
- 8.1 Qu'est-ce qu'un alias ?
- 8.2 Pourquoi ne pas utiliser d'alias ?
- 9. Favoriser la simplicité à la complexité
- 10. Limiter la longueur des lignes
- 11. Éviter les points-virgules à la fin de vos lignes
- 11.1 À quoi sert le caractère point-virgule ?
- 11.2 Pourquoi éviter d'utiliser le point-virgule ?
- 12. Des espaces entre paramètres et opérateurs
- 13. Relire son code
- 14. PSScriptAnalyzer : un moyen d'analyser son code
- 14.1 Qu'est-ce que le module PSScriptAnalyzer ?
- 14.2 Comment l'installer ?
- 14.3 Les règles que le module va vérifier
- 14.4 Analyse d'un script
- 14.5 Analyse d'un code
- 14.6 Formater son code
Premiers pas avec PowerShell
- 1. Introduction
- 2. Prise en main de la console PowerShell
- 2.1 PowerShell 32 ou 64 bits ?
- 2.2 PowerShell 32 ou 64 bits, quelles sont les différences ?
- 2.3 Démarrer la console 32 ou 64 bits
- 2.4 Déterminer l'architecture utilisée
- 2.5 Connaître la version de PowerShell
- 2.6 PowerShell en utilisateur ou administrateur
- 2.7 Configurer la console PowerShell
- 2.8 Les raccourcis-clavier
- 3. Prise en main de PowerShell ISE
- 3.1 Qu'est-ce que PowerShell ISE ?
- 3.2 PowerShell ISE x64 ou x86 ?
- 3.3 Raccourcis clavier dans PowerShell ISE
Les outils pour éditer PowerShell
- 1. Introduction
- 2. Windows PowerShell ISE
- 2.1 Barre de menu
- 2.2 La partie script
- 2.3 La partie commandes
- 2.4 La partie console
- 3. Notepad++
- 4. Visual Studio Code
- 5. PowerShell Studio
PowerShell, un langage de cmdlets
- 1. Qu'est-ce qu'une commande ?
- 2. Qu'est-ce qu'une cmdlet ?
- 3. Que se passe-t-il derrière ?
- 3.1 Cmdlets et bibliothèques
- 3.2 Cmdlets et bibliothèques en exemples
- 3.3 Identifier la bibliothèque utilisée par une cmdlet
- 4. Syntaxe d'une cmdlet
- 4.1 La syntaxe Verbe + Nom
- 4.2 Qu'est-ce qu'un verbe ?
- 4.3 Qu'est-ce qu'un nom ?
- 5. Get-command : lister les cmdlets
- 6. Les paramètres
- 6.1 Qu'est-ce qu'un paramètre ?
- 6.2 Syntaxe d'un paramètre
- 6.3 Les types de paramètres
- 6.4 Lister les paramètres disponibles
- 6.5 Comportement d'un paramètre
- 7. Les alias de cmdlets
- 8. Show-Command : visualiser une cmdlet et ses paramètres
- 9. PowerShell et les modes d'analyse syntaxique
- 9.1 Analyse rapide pour comprendre
- 9.2 Le mode expression
- 9.3 Le mode commande
- 9.4 Mode expression vs mode commande en exemples
PowerShell et les scripts
- 1. Introduction
- 2. Qu'est-ce qu'un script ?
- 3. Format d'un script
- 4. Créer un script
- 4.1 Notre script
- 4.2 Création depuis Notepad++
- 4.3 Création depuis PowerShell ISE
Exécution de scripts
- 1. Introduction
- 2. Quel format de fichier ?
- 3. La stratégie d'exécution
- 3.1 Exécution par défaut
- 3.2 Qu'est-ce que la stratégie d'exécution ?
- 3.3 Stratégies d'exécution par défaut
- 3.4 Différentes stratégies d'exécution
- 3.5 Étendue de la stratégie d'exécution
- 3.6 Gérer la stratégie d'exécution avec PowerShell
- 3.6.1 Récupérer la stratégie appliquée actuellement
- 3.6.2 Modifier la configuration
- 4.1 Générer un certificat autosigné
- 4.2 Signer le script
- 4.3 Obtenir les informations d'un script signé
- 4.4 Sécurité des fichiers provenant d'Internet
- 4.4.1 Débloquer un fichier particulier
- 4.4.2 Débloquer le contenu d'un dossier
L'aide PowerShell, un précieux allié
- 1. Get-Help : pourquoi ?
- 2. Comment l'utiliser ?
- 3. Exemples d'utilisation
- 3.1 Obtenir de l'aide simple
- 3.2 Obtenir des exemples
- 3.3 Obtenir les détails d'une cmdlet
- 3.4 Obtenir l'aide en ligne
- 4. Télécharger la dernière mise à jour de l'aide
Le pipeline
- 1. Introduction
- 2. Principe et fonctionnement du pipeline
- 2.1 Qu'est-ce que le pipeline ?
- 2.2 Où se trouve le pipeline ?
- 2.3 L'enchaînement des commandes
- 3. Comprendre le pipeline en exemple
- 4. Schématiser un pipeline
- 5. La liaison des paramètres et objets
- 5.1 Principe
- 5.2 Connaître les paramètres utilisant le pipeline
La gestion des objets
- 1. Qu'est-ce qu'un objet ?
- 2. Récupérer la structure d'un objet
- 2.1 Comment faire ?
- 2.2 Les propriétés
- 2.3 Les méthodes
- 2.4 Les évènements
- 3. Quelles cmdlets utiliser pour gérer les objets ?
- 4. Filtrer les objets
- 4.1 Filtrer le contenu
- 4.2 Sélectionner les propriétés à afficher
- 5. Trier des objets
- 6. Créer un objet
- 6.1 Création d'un objet .NET ou COM
- 6.1.1 Objets .NET
- 6.1.2 Objets COM
- 6.1 Création d'un objet .NET ou COM
- 6.2 Création d'objets personnalisés
- 6.2.1 Syntaxe 1 : New-Object
- 6.2.2 Syntaxe 2 : PSCustomObject
- 7.1 Contenu de notre objet
- 7.2 Ajouter une propriété dans un objet
- 7.3 Supprimer une propriété d'un objet
Les opérateurs
- 1. Qu'est-ce qu'un opérateur ?
- 2. Les opérateurs arithmétiques
- 2.1 L'addition
- 2.2 La soustraction
- 2.3 La multiplication
- 2.4 La division
- 2.5 Le modulo ou reste
- 3. Les opérateurs de comparaison
- 3.1 Les opérateurs d'égalité
- 3.2 Les opérateurs de correspondance
- 4. Les autres opérateurs
- 4.1 Le pipeline
- 4.2 L'affectation
- 4.3 L'opérateur d'appel
Les variables
- 1. Qu'est-ce qu'une variable ?
- 1.1 Comment déclarer une variable ?
- 1.2 Afficher le contenu d'une variable
- 1.3 Afficher le type d'une variable
- 1.4 Définir le type d'une variable
- 2. Les variables d'environnement
- 3. Les variables automatiques
- 4. La portée des variables
- 4.1 Qu'est-ce qu'une portée ?
- 4.2 Comment définir la portée d'une variable ?
- 4.3 Portée globale
- 4.3.1 À quoi correspond-elle ?
- 4.3.2 Déclaration de la portée
- 4.3.3 Jusqu'où va cette portée ?
- 4.3.4 Comprendre son fonctionnement
- 4.4 Portée script
- 4.4.1 À quoi correspond-elle ?
- 4.4.2 Déclaration de la portée
- 4.4.3 Jusqu'où va cette portée ?
- 4.4.4 Comprendre son fonctionnement
- 4.5 Portée locale
- 4.5.1 À quoi correspond-elle ?
- 4.5.2 Déclaration de la portée
- 4.5.3 Jusqu'où va cette portée ?
- 4.5.4 Comprendre son fonctionnement
Les conditions
- 1. Qu'est-ce qu'une condition ?
- 2. Pourquoi les utiliser ?
- 3. Les différentes instructions
- 3.1 Condition simple : If
- 3.1.1 Fonctionnement
- 3.1.2 Structure
- 3.1.3 La condition If en exemple
- 3.1 Condition simple : If
- 3.2 Si/Sinon : If/Else
- 3.2.1 Fonctionnement
- 3.2.2 Structure
- 3.2.3 La condition If/Else en exemples
- 3.3 Si/Sinon si/Sinon : If/ElseIf/Else
- 3.3.1 Fonctionnement
- 3.3.2 Structure
- 3.4 Switch
- 3.4.1 Fonctionnement
- 3.4.2 Structure
- 3.4.3 L'instruction Switch en exemple
Les boucles
- 1. Qu'est-ce qu'une boucle ?
- 2. La boucle For
- 2.1 Signification
- 2.2 Utilisation
- 3. La boucle Foreach
- 3.1 Signification
- 3.2 Utilisation
- 3.2.1 Première syntaxe
- 3.2.2 Seconde syntaxe
- 4.1 Signification
- 4.2 Utilisation
- 5.1 Signification
- 5.2 Utilisation
- 6.1 Signification
- 6.2 Utilisation
Entrées et sorties utilisateur
- 1. Introduction
- 2. Affichage d'informations
- 2.1 Comment faire ?
- 2.2 Write-Host
- 2.3 Write-Output
- 2.4 Write-Host ou Write-Output ?
- 2.4.1 Envoi du texte
- 2.4.2 Couleur de texte et fond
- 2.4.3 L'avis du créateur de PowerShell
- 4.1 Saisie et lecture d'un texte simple
- 4.2 Saisie et lecture d'une valeur à sécuriser
- 5.1 Afficher du contenu
- 5.2 Récupérer la saisie
- 5.3 Coder l'action exécutée en fonction du choix
- 6.1 Menu dépannage de poste
- 6.1.1 Objectif
- 6.1.2 Composition du menu
- 6.1.3 Création du menu
- 6.2.1 Objectif
- 6.2.2 Composition du menu
- 6.2.3 Création du menu
Les cmdlets indispensables
- 1. Test-Path : tester l'existence d'un élément
- 1.1 Que fait cette cmdlet ?
- 1.2 Comment l'utiliser ?
- 1.3 Exemples d'utilisation
- 1.3.1 Tester l'existence d'un fichier ou d'un dossier
- 1.3.2 Tester les éléments les plus récents
- 1.3.3 Tester les éléments les plus anciens
- 1.3.4 Tester l'existence d'une clé de registre
- 1.3.5 Tester l'existence d'un certificat
- 2.1 Que fait cette cmdlet ?
- 2.2 Comment l'utiliser ?
- 2.3 Exemples d'utilisation
- 2.3.1 Créer un dossier
- 2.3.2 Créer un fichier
- 2.3.3 Tester l'existence puis créer un élément
- 2.3.4 Créer une clé de registre
- 3.1 Que fait cette cmdlet ?
- 3.2 Comment l'utiliser ?
- 3.3 Exemples d'utilisation
- 3.3.1 Lister un simple contenu
- 3.3.2 Lister le contenu des dossiers et sous-dossiers
- 3.3.3 Lister uniquement les fichiers ou dossiers
- 3.3.4 Exclure certaines extensions de fichier
- 3.3.5 Lister uniquement certains types de fichier
- 3.3.6 Lister les éléments du registre
- 4.1 Que fait cette cmdlet ?
- 4.2 Comment l'utiliser ?
- 4.3 Exemples d'utilisation
- 4.3.1 Suppression simple d'un fichier/dossier
- 4.3.2 Supprimer uniquement certains fichiers
- 4.3.3 Supprimer tout sauf certains fichiers
- 5.1 Que fait cette cmdlet ?
- 5.2 Comment l'utiliser ?
- 5.3 Exemples d'utilisation
- 5.3.1 Renommer un fichier ou un dossier
- 5.3.2 Renommer plusieurs éléments
- 6.1 Que fait cette cmdlet ?
- 6.2 Comment l'utiliser ?
- 6.3 Exemples d'utilisation
- 6.3.1 Copier un fichier ou un dossier
- 6.3.2 Copier un dossier et tout son contenu
- 6.3.3 Copier certains fichiers uniquement
- 6.3.4 Copier tout sauf certains éléments
- 7.1 Que fait cette cmdlet ?
- 7.2 Comment l'utiliser ?
- 7.3 Exemples d'utilisation
- 7.3.1 Lister le contenu d'un fichier texte
- 7.3.2 Récupérer le nombre de lignes d'un fichier texte
- 7.3.3 Afficher la valeur de la première ligne
- 7.3.4 Afficher la valeur de la dernière ligne
De CMD à PowerShell
- 1. Introduction
- 2. Équivalences entre CMD et PowerShell
- 2.1 Équivalence de commandes
- 2.1.1 Commandes de gestion des fichiers/dossiers
- 2.1.2 Commandes réseau
- 2.1.3 Commandes système
- 2.1 Équivalence de commandes
- 2.2 Les variables
- 2.2.1 En langage CMD/batch
- 2.2.2 En PowerShell
- 2.3 Test d'existence de contenu
- 2.3.1 En batch
- 2.3.2 En PowerShell
- 2.4 Les conditions
- 2.4.1 En batch
- 2.4.2 En PowerShell
- 2.4.3 Les opérateurs
- 2.5 Les boucles
- 2.5.1 En batch
- 2.5.2 En PowerShell
- 3.1 Notre script de test
- 3.2 Le script en batch
- 3.3 Le script en PowerShell
De VBS à PowerShell
- 1. Introduction
- 2. PowerShell vs VBScript
- 3. Équivalences entre VBS et PowerShell
- 3.1 Équivalence de commandes
- 3.1.1 Commandes de gestion des fichiers/dossiers
- 3.1.2 Commandes système
- 3.1 Équivalence de commandes
- 3.2 Les variables
- 3.2.1 En VBScript
- 3.2.2 En PowerShell
- 3.3 Test d'existence de contenu
- 3.3.1 En VBScript
- 3.3.2 En PowerShell
- 3.4 Les conditions
- 3.4.1 En VBScript
- 3.4.2 En PowerShell
- 3.4.3 Les opérateurs
- 3.5 Les boucles
- 3.5.1 En VBScript
- 3.5.2 En PowerShell
- 4.1 Notre script de test
- 4.2 Le script en VBScript
- 4.3 Le script en PowerShell
Les fonctions
- 1. Intérêt d'une fonction
- 2. Déclaration et appel d'une fonction
- 2.1 Déclaration d'une fonction
- 2.2 Appel d'une fonction
- 3. Fonctions et paramètres
- 3.1 Qu'est-ce qu'un paramètre de fonction ?
- 3.2 Déclaration d'un paramètre
- 3.3 Appel d'une fonction avec paramètres
- 3.4 Contrôle des paramètres
- 3.4.1 Mandatory : paramètre obligatoire
- 3.4.2 ValidateSet : valider un jeu de valeurs précis
- 3.4.3 ValidateNotNullOrEmpty : paramètre non nul ou vide
- 3.4.4 ValidateLength : longueur du paramètre
- 3.4.5 Position de paramètre
- 3.4.6 Accepter une valeur dans le pipe
- 3.5 Typer nos paramètres
- 3.5.1 Que signifie typer un paramètre ?
- 3.5.2 Chaîne de caractères
- 3.5.3 Entier
- 3.5.4 Switch
- 3.6 Les paramètres communs
Manipuler les chaînes de caractères
- 1. Les bases
- 1.1 Qu'est-ce qu'une chaîne de caractères ?
- 1.2 Qu'est-ce que le code ASCII ?
- 1.3 Chaîne de caractères en exemple
- 1.4 Distinguer une chaîne de caractères avec PowerShell
- 2. Méthodes disponibles pour gérer les chaînes
- 3. Manipulation des chaînes avec les méthodes
- 3.1 Compter le nombre de caractères
- 3.2 Passer le contenu en majuscules
- 3.3 Passer le contenu en minuscules
- 3.4 Remplacer des caractères
- 3.5 Supprimer des caractères
- 3.5.1 Trim : supprimer les espaces en début et fin de chaîne
- 3.5.2 TrimStart : supprimer des caractèresen début de chaîne
- 3.5.3 TrimEnd : supprimer des caractères en fin de chaîne
- 3.6 Split : Séparer une chaîne de caractères
- 3.7 Contains : Vérifier si une chaîne contient un caractère
- 3.8 Vérifier si une chaîne commence par quelque chose
- 3.9 Vérifier si une chaîne se termine par quelque chose
- 3.10 Here-String : un bloc de texte en tant que chaîne
- 3.11 Convertir une chaîne en chaîne de caractères sécurisée
Quelques astuces
- 1. Ouvrir rapidement un dossier dans PowerShell
- 2. Récupérer le chemin complet d'un élémentdepuis l'explorateur Windows
- 3. Historique des commandes passées dans la console
- 3.1 Contexte
- 3.2 Rechercher l'historique dans le fichier texte
- 3.3 Rechercher dans l'historique avec une cmdlet
- 3.4 Rechercher dans l'historique avec un raccourci-clavier
- 3.5 Rechercher dans l'historique en utilisant un script
- 4. Lister les combinaisons de touches disponibles
- 5. Éditer une commande dans la console
- 6. Lister les cmdlets comportant un certain mot
- 7. Lister les paramètres pour une cmdlet dans un menu
- 8. Commenter un bloc de code
- 9. Ajouter un menu contextuel Exécuter en tant qu'administrateur
- 10. Exécuter automatiquement un script dans Windows Sandbox
- 10.1 Qu'est-ce que Windows Sandbox ?
- 10.2 Installation de Windows Sandbox
- 10.3 Pourquoi exécuter un script dans Windows Sandbox ?
- 10.4 Installation de l'outil ?
- 10.5 Utilisation de l'outil ?
La gestion des erreurs
- 1. Comment gérer les erreurs en PowerShell ?
- 2. Try/Catch et/ou Finally
- 2.1 Try/Catch
- 2.1.1 Explications
- 2.1.2 Structure
- 2.1.3 Explication en exemple
- 2.1 Try/Catch
- 2.2 Try/Catch/Finally
- 2.2.1 Explication
- 2.2.2 Structure
- 2.2.3 Explication en exemple
- 3.1 Erreur bloquante ou non bloquante
- 3.2 Changer le comportement d'exécution
- 3.2.1 Paramètre ErrorAction
- 3.2.2 Variable $ErrorActionPreference
La gestion des fichiers et des dossiers
- 1. Tester l'existence d'un fichier ou d'un dossier
- 1.1 Test d'existence d'un dossier
- 1.2 Test d'existence d'un fichier
- 1.3 Test d'existence inversé
- 2. Création de dossiers ou de fichiers
- 2.1 Création de dossiers
- 2.2 Création de fichiers
- 3. Suppression de dossiers ou de fichiers
Mise en forme de la sortie des objets
- 1. Qu'est-ce que la mise en forme des objets ?
- 2. Mise en forme basique
- 3. Out-GridView : un tableau interactif et puissant
- 4. Format-Table : mise en forme dans un tableau
- 4.1 Affichage par défaut
- 4.2 Filtrer les colonnes
- 4.3 Masquer l'en-tête des colonnes
- 4.4 Renommer une colonne
- 5. Format-List : affichage sous forme d'une liste
- 6. Sort-Object : trier la liste en fonction d'une propriété
- 7. Group-Object : grouper les objets par propriété
Manipuler les fichiers
- 1. Introduction
- 2. Encodage de caractères et fichiers
- 2.1 Qu'est-ce que l'encodage ?
- 2.2 Pourquoi l'encodage ?
- 2.3 PowerShell et l'encodage
- 3. Manipuler des fichiers texte
- 3.1 Gestion des fichiers texte
- 3.2 Exporter le contenu d'un objet vers un fichier
- 3.3 Lire le contenu d'un fichier
- 3.4 Lister le nombre total de lignes d'un fichier
- 3.5 Lire un contenu spécifique
- 3.6 Récupérer le numéro d'une ligne
- 3.7 Afficher une ou des premières lignes spécifiques
- 3.7.1 Afficher la première ligne
- 3.7.2 Afficher la dernière ligne
- 3.8 Ajouter une nouvelle ligne
- 3.9 Modifier ou remplacer une ligne
- 3.10 Modifier des lignes comportant un mot spécifique
- 3.11 Supprimer une ligne comportant un mot spécifique
- 4.1 Qu'est-ce que le XML ?
- 4.2 Pourquoi utiliser le format XML ?
- 4.3 Structure d'un fichier XML
- 4.3.1 Le prologue ou en-tête
- 4.3.2 Les balises
- 4.3.3 Les éléments ou nœuds
- 4.3.4 Les attributs
- 5.1 CSV et les délimiteurs
- 5.1.1 Qu'est-ce qu'un délimiteur ?
- 5.1.2 Détecter le délimiteur par défaut sur mon poste
- 5.1.3 Détecter le délimiteur utilisé dans un fichier
La gestion des dates
- 1. Introduction
- 2. Cmdlet Get-Date
- 2.1 Vérifier l'aide
- 2.2 Lister les propriétés
- 2.3 Lister les méthodes
- 3. Formatage des dates
- 3.1 Formatage simple
- 3.2 Formatage personnalisé
- 4. Conversion de dates
- 4.1 Convertir une chaîne de caractères en date
- 4.2 Convertir une date en chaîne de caractères
- 4.3 Conversion de dates depuis le registre ou WMI
- 4.3.1 Date d'installation de Windows
- 4.3.2 Date d'installation d'applications
- 5.1 Calcul d'intervalle entre deux dates
- 5.2 Comparer deux dates : antérieure ou postérieure
PowerShell et WMI
- 1. Introduction
- 2. WBEM, DMTF, CIM, WMI
- 2.1 WBEM
- 2.2 DMTF
- 2.3 CIM
- 2.4 WMI
- 3. WMI et PowerShell
- 3.1 Exécution d'une requête
- 3.2 PowerShell et les commandes WMI
- 3.2.1 Fonctionnement des cmdlets WMI
- 3.2.2 Lister les espaces de noms disponibles
- 3.2.3 Lister les classes disponibles
- 3.2.4 Composition d'une classe
- 3.2.5 Cas d'utilisation
- 3.3 PowerShell et les commandes CIM
- 3.3.1 Qu'est-ce que CIM ?
- 3.3.2 Fonctionnement des cmdlets
- 3.3.3 Lister les espaces de noms disponibles
- 3.3.4 Lister les classes disponibles
PowerShell et le registre
- 1. Introduction
- 2. Le registre Windows
- 2.1 Qu'est-ce que c'est ?
- 2.2 Composition du registre
- 2.3 Comment accéder au registre et le modifier ?
- 3. PowerShell et la base de registre Windows
- 3.1 Accéder à la base de registre
- 3.2 Naviguer dans la base de registre
- 3.3 Lister les éléments du registre
- 3.3.1 Lister les clés
- 3.3.2 Récupérer les valeurs disponibles
- 3.4 Tester l'existence d'un élément
- 3.5 Créer un élément
- 3.5.1 Créer une nouvelle clé
- 3.5.2 Créer une valeur
- 3.6 Modifier un élément de registre
- 3.7 Supprimer un élément
- 3.7.1 Supprimer une clé
- 3.7.2 Supprimer une valeur
PowerShell et Base64
- 1. Qu’est-ce que Base64 ?
- 1.1 C'est quoi ?
- 1.2 Avantages
- 1.3 Inconvénients
- 2. Encoder/décoder en Base64
- 2.1 Encodage depuis le site
- 2.1.1 Encoder du texte
- 2.1.2 Encoder un fichier PNG
- 2.1.3 Encoder un exécutable
- 2.1 Encodage depuis le site
- 2.2 Décodage depuis le site
- 2.2.1 Décoder du texte
- 2.2.2 Décoder un fichier PNG
- 2.2.3 Décoder un exécutable
- 3.1 Encodage en Base64 avec PowerShell
- 3.1.1 Encodage de texte
- 3.1.2 Encodage d'une image
- 3.2.1 Décodage d'un texte
- 3.2.2 Décodage d'un fichier : image, exécutable
Gérer votre système
- 1. PowerShell et les services Windows
- 1.1 Get-Service : récupérer les informations du service
- 1.2 Restart-Service : redémarrer un service
- 1.3 Stop-Service : arrêter un service
- 1.4 Start-Service : démarrer un service
- 1.5 Suspend-Service : mettre en pause un service
- 2. PowerShell et les processus
- 2.1 Get-Process : lister les processus en cours
- 2.2 Stop-Process : stopper un processus
- 3. PowerShell et le gestionnaire d'évènements
- 3.1 Lister les différentes catégories d'évènements
- 3.2 Exemples d'utilisation
- 4. PowerShell et les tâches planifiées
- 5. PowerShell et le presse-papiers
- 5.1 Get-Clipboard : récupérer le contenu copié
- 5.1.1 Presse-papiers et texte
- 5.1.2 Presse-papiers et fichiers
- 5.1.3 Presse-papiers et image
- 5.1 Get-Clipboard : récupérer le contenu copié
- 5.2 Set-Clipboard : copier du contenu
- 5.2.1 Copie de texte
- 5.2.2 Copie de dossiers et de fichiers
Débuter avec RegEx
- 1. Introduction
- 2. Démystifier RegEx, ou tout du moins essayer
- 2.1 Qu'est-ce que RegEx ?
- 2.2 RegEx et syntaxe
- 2.2.1 Les caractères d'échappement
- 2.2.2 Les métacaractères
- 2.2.3 Les quantificateurs
- 2.2.4 Classes et intervalles
- 5.1 Validation d'une adresse e-mail
- 5.2 Saisie de nom d'ordinateur
- 5.3 Vérification d'une adresse IP valide (IPv4)
- 5.4 Validation d'un numéro de téléphone portable
- 5.5 Validation d'un numéro de sécurité sociale
- 5.6 Validation d'une plaque d'immatriculation française
- 6.1 Utiliser RegEx avec PowerShell
- 6.1.1 -Match et -NotMatch
- 6.1.2 Classe [regex]
- 6.2.1 Opérateur -Match
- 6.2.2 Classe [regex]
- 6.3.1 Récupérer la valeur d'une chaîne
- 6.3.2 Extraire du contenu entre deux mots
PowerShell et Windows Forms
- 1. Introduction
- 2. Forcer l'aspect visuel moderne
- 3. Windows Forms
- 3.1 De quoi s'agit-il ?
- 3.2 Comment utiliser Windows Forms ?
- 3.3 Boîte de dialogue simple
- 3.4 Boîte de dialogue de sélection
- 3.4.1 Sélection de dossier
- 3.4.2 Sélection de fichier
Des exemples pour le quotidien
- 1. Introduction
- 2. Génération de fichier de log
- 3. Fonction de création de clé de registre
- 4. Vérifier la validité d'un lien web
- 5. Télécharger un fichier depuis Internet
- 6. Faire des captures d'écrans avec PowerShell
- 7. Zipper et dézipper
- 8. Créer un journal d'évènements et ajouter un évènement
- 9. Exporter un journal d'évènements
- 10. Générer un GUID
- 11. Générer un mot de passe
- 12. Chercher une chaîne dans l'observateur d'évènements
- 13. Identifier les comptes administrateurs locaux
- 14. Obtenir la date de dernier redémarrage
- 15. Vérifier qu'un script s'exécute en administrateur
S'amuser avec PowerShell
- 1. PowerShell en musique
- 2. Faire parler PowerShell
- 3. Récupérer vos coordonnées géographiques
- 4. Afficher l'adresse de localisation du poste
- 5. Afficher les coordonnées GPS dans une carte
Bibliographie
- 1. Les livres pour approfondir ses connaissances
- 1.1 Commencer et approfondir
- 1.2 Approfondir sur d'autres domaines
- Index