Aller au contenu

Prise en main de PowerShell

1. Objectif du cours

Présentation rapide des fonctionnalités de base de PowerShell et apprentissage des 10 commandes incontournables pour l'administration système sous Windows.

2. Notions et définitions essentielles

  • Cmdlet : petite commande PowerShell au format verbe-nom destinée à des tâches d'administration (ex. gestion des services, processus, registre).
  • Data store (magasin de données) : référentiel persistant (bases de données, fichiers, courriels…) accessible via des fournisseurs PowerShell.
  • Paramètre de commutation : paramètre sans valeur explicite, sert d'option (ex. pour activer un mode verbeux).
  • Politique d'exécution : règle contrôlant l'exécution des scripts PowerShell (niveaux décrits dans le cours).

3. Fonctionnement et principes

  • Syntaxe verbe-nom cohérente : facilite la découverte et le chaînage des cmdlets.
  • Sorties chaînables : la sortie d'une cmdlet peut être acheminée vers une autre sans transformation.
  • Navigation uniforme : PowerShell permet de parcourir des magasins de données comme un système de fichiers.
  • Extensibilité : fournisseurs et modules tiers peuvent ajouter des cmdlets et fonctionnalités.
  • Administration distante : PowerShell Remoting permet d'exécuter des commandes sur des systèmes Windows distants, utile pour gérer plusieurs machines.

4. Commandes et manipulations

Regroupées par objectif principal (présentées telles qu’elles figurent dans le PDF) : - Aide et découverte - Get-Help : affiche la documentation d'une cmdlet (ex. syntaxe complète). - Get-Command : liste les commandes correspondant à un motif de recherche. - Services - Get-Service : affiche la liste et l'état des services installés. - Start-Service : démarre un service (requiert la console en administrateur). - Processus - Get-Process : liste les processus en cours, fournit nom et ID. - Start-Process : lance un processus (ex. ouvrir un navigateur). - Stop-Process : arrête un processus par nom ou ID. - Politique d'exécution - Get-ExecutionPolicy : consulte l'état actuel de la politique d'exécution. - Set-ExecutionPolicy : définit le niveau de politique d'exécution (Restricted, AllSigned, RemoteSigned, Unrestricted). - Export/rapport - ConvertTo-HTML : transforme la sortie d'une commande en HTML pour générer un rapport (ex. enregistrer la liste des processus dans un fichier .htm).

5. Sécurité et bonnes pratiques

  • Par défaut, l'exécution de scripts est désactivée (niveau Restricted) pour éviter l'exécution de code malveillant.
  • Choisir la politique d'exécution adaptée : Restricted (bloque tout), RemoteSigned (autorise les scripts locaux non signés), AllSigned (seulement scripts signés), Unrestricted (aucune restriction).
  • Avant d'exécuter ou modifier la politique, vérifier l'état actuel.
  • Lancer PowerShell en tant qu'administrateur quand une action requiert des droits élevés (ex. démarrer un service).

6. Points essentiels à retenir pour le TSSR

  • Les cmdlets utilisent une convention verbe-nom uniforme facilitant la lecture et l'automatisation.
  • Les sorties sont conçues pour être chaînées entre cmdlets, simplifiant le traitement par pipelines.
  • Différencier gestion de services (objet service, état) et gestion de processus (objet processus, ID).
  • Toujours vérifier la politique d'exécution avant d'exécuter un script et adapter le niveau si nécessaire.
  • Exécuter PowerShell avec des privilèges élevés pour les opérations système sensibles.
  • Utiliser la documentation intégrée pour comprendre la syntaxe et les paramètres d'une cmdlet.
  • Convertir les sorties en format HTML permet de produire des rapports exploitables et partageables.
  • PowerShell Remoting est un atout pour administrer plusieurs systèmes à distance.
  • La navigation dans les data stores est analogue à celle d'un système de fichiers.

7. Tableau récapitulatif

Objet But principal Vérification typique Remarque
Cmdlet verbe-nom Exécuter une tâche atomique Consulter la syntaxe via l'aide intégrée Convention uniforme
Service Gestion d'un service Windows État affiché (ex. Running/Stopped) Démarrage souvent admin
Processus Lancer/arrêter applications Présence ou absence dans la liste des processus ID utilisable pour ciblage
Politique d'exécution Contrôle d'exécution des scripts État actuel lu avant changement Protège contre les scripts malveillants
Export HTML Rapport des sorties Fichier .htm créé et lisible Utile pour analyses/partages

8. Vérifications pratiques

  • Vérifier l'état d'un service affiché dans la liste pour confirmer qu'il est démarré ou arrêté.
  • Contrôler la politique d'exécution actuelle avant et après modification pour s'assurer du changement.
  • Confirmer la présence d'un processus dans la liste avant son arrêt, puis vérifier son absence après l'arrêt.
  • Vérifier la création et le contenu du fichier HTML généré contenant les résultats (ex. liste des processus).

9. Flashcards Anki

Quelle convention de nommage utilisent les applets de commande PowerShell ? :: verbe-nom Que permet la commande d'aide intégrée de PowerShell ? :: afficher la syntaxe et la documentation d'une cmdlet Quel objectif a la commande de découverte des commandes ? :: lister les cmdlets correspondant à un critère de recherche Comment vérifier l'état actuel de la politique d'exécution ? :: consulter la politique d'exécution en cours Quels sont deux niveaux de politique d'exécution mentionnés ? :: Restricted et Remote Signed (également All Signed, Unrestricted) Que fait la commande permettant de démarrer un service ? :: elle lance un service Windows (nécessite privilèges admin) Comment obtient-on l'ID ou le nom d'un processus à arrêter ? :: en listant les processus en cours À quoi sert ConvertTo-HTML selon le cours ? :: transformer la sortie d'une commande en un rapport HTML Pourquoi faut-il parfois lancer PowerShell en administrateur ? :: pour exécuter des actions nécessitant des droits élevés (ex. démarrer un service) Quel avantage apporte PowerShell Remoting évoqué dans le cours ? :: exécution de commandes PowerShell sur des systèmes Windows distants pour administrer plusieurs machines