Cheatsheets

Commandes PowerShell

Aide-mémoire des cmdlets PowerShell par tâche : fichiers, processus, services, système, réseau, Active Directory et logiciels.

Cette fiche est un catalogue de commandes (cmdlets). Pour le langage (variables, boucles, fonctions, opérateurs), voir la cheatsheet PowerShell.

Découverte

Cmdlet Rôle
Get-Command *net* chercher une cmdlet
Get-Help <cmd> -Examples aide et exemples
Get-Member propriétés et méthodes d'un objet
Get-Alias correspondance alias ↔ cmdlet

Fichiers et dossiers

Cmdlet Alias Rôle
Get-ChildItem ls, dir lister
Set-Location cd se déplacer
Get-Content cat lire un fichier
Set-Content / Add-Content écrire / ajouter
New-Item -ItemType File|Directory créer
Copy-Item / Move-Item cp / mv copier / déplacer
Remove-Item rm, del supprimer
Rename-Item renommer
Test-Path l'élément existe-t-il ?
Select-String "motif" chercher dans un fichier (~ grep)
Get-ChildItem C:\Logs -Recurse -Filter *.log
Get-Content app.log -Tail 20 -Wait      # ~ tail -f

Processus

Cmdlet Rôle
Get-Process lister les processus
Get-Process <nom> filtrer par nom
Stop-Process -Name <nom> arrêter par nom
Stop-Process -Id <PID> arrêter par PID
Start-Process <exe> lancer un programme

Services

Get-Service                       # tous les services
Get-Service <nom>                 # un service
Start-Service <nom> ; Stop-Service <nom> ; Restart-Service <nom>
Set-Service <nom> -StartupType Automatic   # démarrage auto

Système et infos

Cmdlet Rôle
Get-ComputerInfo infos système complètes
Get-Date date et heure
Get-Volume / Get-Disk disques et volumes
Get-Hotfix mises à jour installées
Restart-Computer / Stop-Computer redémarrer / éteindre
Rename-Computer -NewName <nom> renommer la machine

Réseau

Cmdlet Rôle
Get-NetIPAddress adresses IP
Get-NetIPConfiguration config complète (~ ipconfig)
Test-Connection <hôte> ping
Test-NetConnection <hôte> -Port 443 tester un port
Resolve-DnsName <domaine> résolution DNS (~ nslookup)
Get-NetAdapter interfaces réseau
New-NetIPAddress / Set-DnsClientServerAddress configurer IP / DNS

Utilisateurs et Active Directory

Module requis : Import-Module ActiveDirectory (RSAT / rôle AD DS).

Cmdlet Rôle
Get-ADUser -Filter * lister les utilisateurs
New-ADUser / Set-ADUser / Remove-ADUser gérer un utilisateur
Enable-ADAccount / Disable-ADAccount (dés)activer
Set-ADAccountPassword -Reset réinitialiser un mot de passe
New-ADGroup / Add-ADGroupMember groupes
Get-ADGroupMember <grp> membres d'un groupe
New-ADOrganizationalUnit créer une OU
Get-ADComputer -Filter * · Get-ADDomain ordinateurs · domaine
Get-LocalUser / New-LocalUser comptes locaux (hors AD)

Logiciels (winget)

winget search <nom>          # chercher un logiciel
winget install <id>          # installer
winget upgrade --all         # tout mettre à jour
winget list                  # logiciels installés
winget uninstall <id>        # désinstaller

Journaux et événements

Cmdlet Rôle
Get-EventLog -LogName System -Newest 20 journal système (classique)
Get-WinEvent -LogName Security -MaxEvents 20 journal (API récente)
Get-WinEvent -FilterHashtable @{LogName='System'; Level=2} filtrer (erreurs)
Clear-EventLog -LogName Application vider un journal

Astuces

  • <cmd> | Format-Table / Format-List / Out-GridView : présenter la sortie.
  • <cmd> | Export-Csv data.csv -NoTypeInformation : exporter.
  • Get-History · : rejouer une commande · F7 : historique visuel.
  • Lancer en administrateur pour les tâches système et AD.
  • Découvrir un objet inconnu : <cmd> | Get-Member.

Pour le scripting (variables, if, foreach, fonctions), voir la cheatsheet PowerShell.