Windows

PowerShell — Cheatsheet

Les commandes PowerShell essentielles pour administrer Windows Server, Active Directory et automatiser vos tâches.

← Retour aux cheatsheets
📘 C'est quoi PowerShell ? PowerShell est le shell de commande moderne de Microsoft. Contrairement à l'invite de commandes (cmd), PowerShell utilise des cmdlets (commandes structurées en Verbe-Nom) et manipule des objets au lieu de simples chaînes de texte. C'est l'outil incontournable pour administrer Windows Server.

🔧 Commandes de base

CommandeDescription
Get-Help commandeAfficher l'aide d'une commande
Get-Command *mot*Chercher des commandes contenant un mot
Get-MemberAfficher les propriétés/méthodes d'un objet (ex : Get-Process | Get-Member)
$variable = "valeur"Déclarer une variable
Write-Host "texte"Afficher du texte dans la console
| Where-Object {$_.Prop -eq "val"}Filtrer les résultats
| Select-Object Prop1, Prop2Sélectionner des colonnes spécifiques
| Sort-Object PropTrier les résultats
| Export-Csv fichier.csvExporter les résultats en CSV
| Format-Table -AutoSizeFormater en tableau lisible

📁 Fichiers & dossiers

CommandeDescription
Get-ChildItem (gci / ls / dir)Lister le contenu d'un dossier
Set-Location (cd)Changer de répertoire
New-Item -ItemType File nom.txtCréer un fichier
New-Item -ItemType Directory dossierCréer un dossier
Copy-Item src destCopier un fichier/dossier
Move-Item src destDéplacer/renommer
Remove-Item chemin -RecurseSupprimer un fichier/dossier
Get-Content fichier.txtLire le contenu d'un fichier
Set-Content fichier.txt "texte"Écrire dans un fichier (remplace)
Add-Content fichier.txt "texte"Ajouter du texte à la fin d'un fichier
Test-Path cheminVérifier si un fichier/dossier existe

🌐 Réseau

CommandeDescription
Get-NetIPAddressAfficher les adresses IP
Get-NetAdapterLister les interfaces réseau
New-NetIPAddress -IPAddress x -PrefixLength 24 -DefaultGateway yConfigurer une IP statique
Set-DnsClientServerAddress -InterfaceIndex n -ServerAddresses ("ip")Configurer le serveur DNS
Test-Connection serveurPing un hôte
Test-NetConnection -ComputerName srv -Port 80Tester un port
Resolve-DnsName domaineRésoudre un nom DNS
Get-NetFirewallRuleLister les règles du pare-feu
New-NetFirewallRule -DisplayName "nom" -Direction Inbound -LocalPort 80 -Protocol TCP -Action AllowCréer une règle de pare-feu

⚙️ Services & processus

CommandeDescription
Get-ServiceLister tous les services
Start-Service nomDémarrer un service
Stop-Service nomArrêter un service
Restart-Service nomRedémarrer un service
Get-ProcessLister les processus en cours
Stop-Process -Name nomTuer un processus
Get-EventLog -LogName System -Newest 20Voir les 20 derniers événements système
Install-WindowsFeature nom-du-roleInstaller un rôle/fonctionnalité Windows
CommandeDescription
Get-ADUser -Filter *Lister tous les utilisateurs AD
New-ADUser -Name "nom" -SamAccountName "login"Créer un utilisateur
Set-ADAccountPassword -Identity "login"Changer le mot de passe
Enable-ADAccount / Disable-ADAccountActiver/désactiver un compte
Get-ADGroup -Filter *Lister les groupes AD
Add-ADGroupMember -Identity "groupe" -Members "user"Ajouter un utilisateur à un groupe
Get-ADComputer -Filter *Lister les ordinateurs du domaine
Get-ADDomainInformations sur le domaine
Import-Csv users.csv | ForEach { New-ADUser ... }Créer des utilisateurs en masse depuis un CSV

📡 Administration à distance

CommandeDescription
Enter-PSSession -ComputerName srvOuvrir une session PowerShell distante
Exit-PSSessionQuitter la session distante
Invoke-Command -ComputerName srv -ScriptBlock { commande }Exécuter une commande à distance
Rename-Computer -NewName "nom" -RestartRenommer le serveur et redémarrer
Add-Computer -DomainName "domaine" -RestartJoindre un domaine AD
Restart-Computer / Stop-ComputerRedémarrer / Éteindre