Aller au contenu

Introduction à PowerShell

🏛️ Qu'est-ce que PowerShell ?

PowerShell est un langage de script et un shell en ligne de commande développé par Microsoft. Il a été initialement publié en 2006 et repose sur le .NET Framework. Contrairement à Bash, qui est populaire sous Linux, PowerShell est conçu pour gérer les environnements Windows, bien qu'il soit aujourd'hui multi-plateforme (Windows, Linux, macOS).

🛠️ À quoi sert PowerShell ?

PowerShell est utilisé pour : ✅ Automatiser les tâches administratives ✅ Gérer les services Windows (Processus, Services, Registre, etc.) ✅ Gérer les utilisateurs et les groupes Active Directory ✅ Manipuler des fichiers et des systèmes de fichiers ✅ Interagir avec des API et des bases de données

⚡ Les Cmdlets : Le Cœur de PowerShell

Une cmdlet (prononcé "command-let") est une commande intégrée à PowerShell, conçue pour effectuer des tâches spécifiques.

🏗️ Structure d'une Cmdlet

Les cmdlets suivent une convention stricte sous la forme :

Verbe-Nom

Exemples : 🔹 Get-Process → Récupère les processus en cours
🔹 Start-Service → Démarre un service
🔹 Set-ExecutionPolicy → Modifie la politique d'exécution des scripts

📌 Caractéristiques des Cmdlets

✅ Elles sont basées sur le .NET Framework et retournent des objets
✅ Elles peuvent être enchaînées grâce aux pipes (|)
✅ Elles ont des paramètres pour affiner leurs actions

🛠️ Quelques Cmdlets essentielles

Cmdlet Description
Get-Command Affiche toutes les cmdlets disponibles
Get-Help Donne des informations sur une cmdlet
Get-Process Liste les processus en cours
Stop-Process Arrête un processus
Get-Service Affiche l'état des services Windows
Start-Service Démarre un service
Set-ExecutionPolicy Modifie la politique d'exécution des scripts
Get-Content Lit le contenu d'un fichier

🔄 Exemple d'utilisation des Cmdlets

# Lister tous les services en cours d’exécution
Get-Service | Where-Object { $_.Status -eq "Running" }

# Arrêter un processus (ex: Notepad)
Stop-Process -Name notepad

# Lire le contenu d’un fichier texte
Get-Content "C:\chemin\vers\mon_fichier.txt"

💡 Astuce : Utilise Get-Help <cmdlet> pour afficher la documentation complète d'une cmdlet !
Exemple :

Get-Help Get-Process -Detailed