Aide-mémoire PowerShell — Commandes à copier

Les commandes PowerShell utilisées au quotidien par les développeurs et administrateurs sous Windows, et dans PowerShell 7 sur macOS et Linux, expliquées en une ligne chacune. Saisissez une fois votre dossier, fichier et hôte, puis copiez des commandes prêtes à l’emploi.

Mis à jour le
Vos valeursChaque exemple ci-dessous se met à jour pendant la saisie

Aide & découverte

5
Get-Command *service*

Trouver les commandes dont le nom contient un mot — le moyen le plus rapide de découvrir les cmdlets.

Get-Help Get-Process -Examples

Afficher des exemples d’utilisation d’une cmdlet. Exécutez Update-Help une fois pour télécharger l’aide complète.

Get-Process | Get-Member

Lister les propriétés et méthodes des objets renvoyés par une commande.

Get-Alias ls

Voir quelle cmdlet un alias exécute (ls, dir et gci exécutent toutes Get-ChildItem).

$PSVersionTable

Afficher la version et l’édition de PowerShell (Windows PowerShell 5.1 ou PowerShell 7).

Fichiers & dossiers

11
Get-ChildItem C:\Projects\app -Recurse -Filter *.log

Lister les fichiers d’un type donné dans un dossier et ses sous-dossiers.

Set-Location C:\Projects\app

Changer le dossier courant (alias cd).

New-Item -ItemType Directory -Path C:\Projects\app\logs -Force

Créer un dossier, y compris les dossiers parents manquants.

Copy-Item app.log C:\Projects\app\backup\ -Force

Copier un fichier en écrasant une copie existante.

Move-Item app.log C:\Projects\app\archive\

Déplacer ou renommer un fichier ou un dossier.

Remove-Item C:\Projects\app\temp -Recurse -Force

destructive Supprimer un dossier et tout son contenu sans demander de confirmation.

Get-Content app.log -Tail 50 -Wait

Afficher les 50 dernières lignes d’un fichier et suivre les nouvelles lignes (comme tail -f).

Set-Content app.log -Value "text" -Encoding utf8

destructive Écrire du texte dans un fichier en remplaçant son contenu.

Add-Content app.log -Value "another line"

Ajouter une ligne à la fin d’un fichier.

Compress-Archive -Path C:\Projects\app\* -DestinationPath archive.zip

Créer une archive ZIP à partir du contenu d’un dossier.

Expand-Archive archive.zip -DestinationPath C:\Projects\app

Extraire une archive ZIP.

Recherche & texte

7
Select-String -Path *.log -Pattern "error"

Rechercher du texte ou une expression régulière dans des fichiers (comme grep) ; affiche le fichier, le numéro de ligne et la ligne.

Get-ChildItem -Recurse | Select-String "error" -List

Trouver les fichiers du dossier qui contiennent ce texte.

(Get-Content app.log) -replace "old", "new" | Set-Content app.log

destructive Rechercher et remplacer du texte dans un fichier (expressions régulières prises en charge).

Get-Content app.log | Measure-Object -Line -Word -Character

Compter les lignes, les mots et les caractères (comme wc).

Import-Csv data.csv | Where-Object { $_.Status -eq "active" }

Lire un CSV sous forme d’objets et filtrer les lignes selon une colonne.

Get-Process | Export-Csv processes.csv -NoTypeInformation

Enregistrer la sortie de n’importe quelle commande dans un fichier CSV.

Get-Content data.json -Raw | ConvertFrom-Json

Analyser un fichier JSON en objets que vous pouvez interroger.

Processus & services

6
Get-Process | Sort-Object CPU -Descending | Select-Object -First 10

Afficher les 10 processus qui consomment le plus de temps CPU.

Stop-Process -Name node -Force

destructive Arrêter tous les processus portant ce nom.

Get-Service | Where-Object Status -eq Running

Lister les services Windows en cours d’exécution.

Restart-Service Spooler

Redémarrer un service (nécessite un shell élevé).

Start-Process pwsh -Verb RunAs

Ouvrir une nouvelle fenêtre PowerShell en tant qu’administrateur.

Get-NetTCPConnection -LocalPort 443 | Select-Object OwningProcess

Trouver le processus qui écoute sur un port donné.

Réseau & web

5
Test-NetConnection example.com -Port 443

Vérifier si un hôte est accessible sur un port TCP (ping + test de port).

Resolve-DnsName example.com

Interroger les enregistrements DNS d’un nom d’hôte.

Invoke-RestMethod https://api.github.com/repos/owner/repo

Appeler une API JSON et obtenir la réponse sous forme d’objets.

Invoke-WebRequest https://example.com/file.zip -OutFile file.zip

Télécharger un fichier.

Get-NetIPAddress -AddressFamily IPv4

Afficher les adresses IPv4 de cet ordinateur.

Variables, pipeline & scripts

8
$env:PATH -split ";"

Afficher chaque dossier du PATH sur une ligne distincte.

$env:API_URL = "value"

Définir une variable d’environnement pour la session en cours.

[Environment]::SetEnvironmentVariable("API_URL", "value", "User")

Définir une variable d’environnement de façon permanente pour votre utilisateur.

Get-ChildItem | ForEach-Object { $_.Name.ToUpper() }

Exécuter du code pour chaque élément du pipeline ($_ désigne l’élément courant).

Get-ChildItem | Where-Object Length -gt 10MB

Filtrer les objets selon une propriété — ici, les fichiers de plus de 10 Mo.

Measure-Command { Get-Process }

Mesurer la durée d’exécution d’une commande.

Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Autoriser l’exécution des scripts locaux pour votre utilisateur ; les scripts téléchargés doivent être signés.

try { Get-Process -ErrorAction Stop } catch { Write-Warning $_ }

Intercepter les erreurs — -ErrorAction Stop transforme les erreurs non bloquantes en erreurs interceptables.

Système

5
Get-ComputerInfo -Property OsName, OsVersion, CsTotalPhysicalMemory

Afficher la version de Windows et la mémoire installée.

Get-PSDrive -PSProvider FileSystem

Afficher les lecteurs avec l’espace utilisé et l’espace libre.

Get-WinEvent -LogName System -MaxEvents 20

Lire les dernières entrées du journal d’événements System.

winget upgrade --all

Mettre à jour toutes les applications installées avec le gestionnaire de paquets Windows.

Restart-Computer -Force

destructive Redémarrer l’ordinateur immédiatement.

Vos données ne quittent jamais votre ordinateur. Tout le traitement se fait localement dans votre navigateur.

Comment utiliser : Aide-mémoire PowerShell

  1. Saisissez vos propres valeurs (dossier, fichier, hôte) dans les champs en haut de la page : tous les exemples se mettent à jour immédiatement.
  2. Recherchez ou accédez directement à une section pour trouver la commande dont vous avez besoin.
  3. Cliquez sur Copier pour copier une ligne prête à l’emploi, ou sur Copier la section pour un bloc commenté.
  4. Les commandes marquées destructive suppriment ou écrasent des données : lisez la note avant de les exécuter.

Des objets, pas du texte

La grande différence avec Bash et CMD : les commandes PowerShell transmettent des objets dans le pipeline, et non des lignes de texte. Get-Process | Where-Object CPU -gt 100 | Sort-Object CPU filtre et trie sur de vraies propriétés, sans analyser des colonnes. Get-Member affiche les propriétés d’un objet, et Select-Object, Where-Object et ForEach-Object font le reste.

Noms Verbe-Nom et alias

Les cmdlets sont nommées Verbe-Nom — Get-ChildItem, Set-Content, Remove-Item — donc Get-Command -Verb Get ou Get-Command *Service* vous permet de trouver ce dont vous avez besoin. Des alias familiers comme ls, cd, cat et rm correspondent à ces cmdlets, mais leurs paramètres sont ceux de PowerShell, et non des options Unix.

Windows PowerShell 5.1 ou PowerShell 7

Windows est livré avec Windows PowerShell 5.1 (powershell.exe). PowerShell 7 (pwsh) est le successeur multiplateforme pour Windows, macOS et Linux, avec les opérateurs && et ||, les opérateurs ternaires et de meilleures performances. Tout ce qui figure sur cette page fonctionne dans les deux versions, sauf mention contraire. Consultez aussi l’aide-mémoire CMD et l’aide-mémoire des commandes Linux.

Aussi recherché comme : commandes powershell, liste commandes powershell, powershell grep, powershell tail, exemples powershell, commandes windows powershell, cheat sheet powershell.

Outils complémentaires : Aide-mémoire PowerShell

  • Aide-mémoire Git — Toutes les commandes Git que vous utilisez au quotidien, et celles dont vous avez besoin quand ça tourne mal, expliquées en une ligne.
  • Convertisseur chemin Windows — Collez un chemin dans n'importe quel format — C:\Users\me\project, /mnt/c/Users/me/project, /c/Users/me — et obtenez-le sous toutes les autres formes, prêt à copier : WSL, Git Bash, Cygwin, URL file, UNC et échappé pour le code.
  • Convertisseur fin de ligne — Identifiez les fins de ligne utilisées dans un fichier et convertissez-les — CRLF Windows vers LF Unix, ou l'inverse — pour un texte collé ou un lot de fichiers, avec nettoyage des espaces et tabulations en fin de ligne.
  • Aide-mémoire Docker — Les commandes Docker et Docker Compose dont vous avez besoin chaque semaine, expliquées en une ligne.

Questions fréquentes

Quel est l’équivalent de grep dans PowerShell ?
Select-String. Par exemple Select-String -Path *.log -Pattern "error", ou redirigez une sortie vers cette commande : Get-Content app.log | Select-String error.
Comment suivre un fichier journal comme tail -f ?
Get-Content app.log -Tail 50 -Wait affiche les 50 dernières lignes et continue d’afficher les nouvelles.
Pourquoi mon script ne s’exécute-t-il pas ?
La stratégie d’exécution bloque les scripts par défaut. Exécutez Set-ExecutionPolicy RemoteSigned -Scope CurrentUser pour autoriser vos propres scripts.
Puis-je installer Aide-mémoire PowerShell en tant qu’application web et l’utiliser hors ligne ?
Oui. Aide-mémoire PowerShell est une application web installable (PWA) : elle s’installe depuis votre navigateur, sans passer par une boutique d’applications. Cliquez sur « Installer l’application » en haut de cette page dans Chrome ou Edge (Windows, macOS, Linux, ChromeOS) ; sur Android, utilisez « Partager » → « Ajouter à l’écran d’accueil » sur iPhone et iPad ; ou « Fichier » → « Ajouter au Dock » dans Safari 17+ sur Mac. L’application s’ouvre alors dans sa propre fenêtre avec sa propre icône, et comme elle s’exécute entièrement dans votre navigateur, elle continue de fonctionner hors ligne. Firefox sur ordinateur de bureau ne permet pas d’installer d’applications web. Comment fonctionne l’installation.

Outils similaires