PowerShell Cheat Sheet - Commandes Essentielles
🧭 Navigation du Cours
🏠 Retour au Syllabus | ⏭️ Chapitre Suivant: Powershell AD - Requêtes et Informations
1. 🔹 Commandes de Base PowerShell
Variables
# Créer une variable
$nomUtilisateur = "jean.dupont"
# Afficher une variable
Write-Host $nomUtilisateur
$nomUtilisateur # Version courte
# Concaténation
$nomComplet = $prenom + " " + $nom
Tableaux
# Créer un tableau
$utilisateurs = @("jean.dupont", "marie.martin", "pierre.durand")
# Accéder à un élément (index commence à 0)
$utilisateurs[0] # Premier élément
$utilisateurs[-1] # Dernier élément
# Ajouter un élément
$utilisateurs += "luc.lefevre"
Boucles
# Boucle foreach simple
foreach ($utilisateur in $utilisateurs) {
Write-Host $utilisateur.Name
}
# Avec pipeline
$utilisateurs | ForEach-Object { Write-Host $_.Name }
Conditions
# Condition simple
if ($compteActif) {
Write-Host "Compte actif"
} else {
Write-Host "Compte désactivé"
}
# Comparaisons courantes
$nombre -eq 5 # Égal
$nombre -ne 5 # Différent
$nombre -gt 5 # Supérieur
$nombre -lt 5 # Inférieur
2. 🔹 Commandes Active Directory - Utilisateurs
Recherche d'utilisateurs
# Tous les utilisateurs
Get-ADUser -Filter *
# Utilisateur spécifique
Get-ADUser -Identity "jean.dupont"
Get-ADUser -Filter {SamAccountName -eq "jean.dupont"}
# Utilisateurs avec propriétés étendues
Get-ADUser -Filter * -Properties *
# Recherche par propriétés
Get-ADUser -Filter {Department -eq "Comptabilité"}
Get-ADUser -Filter {Title -like "*Manager*"}
Get-ADUser -Filter {WhenCreated -ge "01/01/2023"}
Création et modification d'utilisateurs
# Créer un utilisateur
New-ADUser -Name "Marie Martin" -SamAccountName "marie.martin" -Path "OU=Users,OU=Comptabilité,OU=EU,DC=computerelectronics,DC=be"
# Activer/Désactiver un compte
Enable-ADAccount -Identity "marie.martin"
Disable-ADAccount -Identity "marie.martin"
# Modifier les propriétés
Set-ADUser -Identity "marie.martin" -Title "Chef Comptable" -Department "Comptabilité"
Recherche avancée
# Utilisateurs actifs seulement
Get-ADUser -Filter {Enabled -eq $true}
# Utilisateurs avec mot de passe expiré
Get-ADUser -Filter {PasswordExpired -eq $true}
# Utilisateurs verrouillés
Get-ADUser -Filter {LockedOut -eq $true}
3. 🔹 Commandes Active Directory - Groupes
Recherche de groupes
# Tous les groupes
Get-ADGroup -Filter *
# Groupe spécifique
Get-ADGroup -Identity "GG-EU-RH-Users"
# Groupes par type
Get-ADGroup -Filter {GroupScope -eq "Global"}
Get-ADGroup -Filter {GroupCategory -eq "Security"}
# Recherche par nom
Get-ADGroup -Filter {Name -like "GG-EU-*"}
Gestion des membres
# Ajouter un membre à un groupe
Add-ADGroupMember -Identity "GG-EU-RH-Users" -Members "marie.martin"
# Retirer un membre
Remove-ADGroupMember -Identity "GG-EU-RH-Users" -Members "marie.martin"
# Lister les membres
Get-ADGroupMember -Identity "GG-EU-RH-Users"
# Récupérer tous les groupes d'un utilisateur
Get-ADPrincipalGroupMembership -Identity "marie.martin"
4. 🔹 Commandes Active Directory - Ordinateurs
Recherche d'ordinateurs
# Tous les ordinateurs
Get-ADComputer -Filter *
# Ordinateur spécifique
Get-ADComputer -Identity "ws-compta-01"
# Ordinateurs par OS
Get-ADComputer -Filter {OperatingSystem -like "*Windows 10*"}
# Ordinateurs activés/désactivés
Get-ADComputer -Filter {Enabled -eq $true}
Gestion des ordinateurs
# Créer un compte ordinateur
New-ADComputer -Name "ws-compta-02" -Path "OU=Computers,OU=Comptabilité,OU=EU,DC=computerelectronics,DC=be"
# Activer/Désactiver un ordinateur
Enable-ADAccount -Identity "ws-compta-02"
Disable-ADAccount -Identity "ws-compta-02"
5. 🔹 Commandes Active Directory - Unités d'Organisation
Recherche d'OU
# Toutes les OU
Get-ADOrganizationalUnit -Filter *
# OU spécifique
Get-ADOrganizationalUnit -Identity "OU=Comptabilité,OU=EU,DC=computerelectronics,DC=be"
# OU avec propriétés
Get-ADOrganizationalUnit -Filter * -Properties Description, ManagedBy
Gestion des OU
# Créer une OU
New-ADOrganizationalUnit -Name "Ventes" -Path "OU=EU,DC=computerelectronics,DC=be"
# Modifier une OU
Set-ADOrganizationalUnit -Identity "OU=Ventes,OU=EU,DC=computerelectronics,DC=be" -Description "Unité organisationnelle Ventes"
6. 🔹 Commandes Pratiques - Rapports et Export
Export vers CSV
# Exporter tous les utilisateurs
Get-ADUser -Filter * -Properties Name, SamAccountName, Department, Title | Export-Csv -Path "rapport_utilisateurs.csv" -Encoding UTF8
# Exporter les membres d'un groupe
Get-ADGroupMember -Identity "GG-EU-RH-Users" | Select-Object Name, SamAccountName | Export-Csv -Path "membres_rh.csv" -Encoding UTF8
Filtres avancés
# Utilisateurs créés récemment
Get-ADUser -Filter {WhenCreated -ge (Get-Date).AddDays(-30)} -Properties WhenCreated
# Utilisateurs n'ayant pas changé leur mot de passe récemment
Get-ADUser -Filter {PasswordLastSet -le (Get-Date).AddDays(-90)} -Properties PasswordLastSet
# Groupes avec plus de 10 membres
Get-ADGroup -Filter * -Properties Members | Where-Object { $_.Members.Count -gt 10 }
7. 🔹 Commandes Système et Utilitaires
Navigation et fichiers
# Aller dans un répertoire
cd "C:\Scripts"
# Lister le contenu
Get-ChildItem
# Créer un fichier
New-Item -Path "rapport.txt" -ItemType File
# Lire un fichier
Get-Content -Path "rapport.txt"
Gestion des erreurs
# Ignorer les erreurs
Get-ADUser -Identity "utilisateur_inexistant" -ErrorAction SilentlyContinue
# Arrêter en cas d'erreur
Get-ADUser -Identity "utilisateur_inexistant" -ErrorAction Stop
# Continuer malgré les erreurs
Get-ADUser -Identity "utilisateur_inexistant" -ErrorAction Continue
8. 🔹 Raccourcis et Alias
Alias courants
# Alias de commandes
dir # = Get-ChildItem
ls # = Get-ChildItem
cat # = Get-Content
echo # = Write-Output
clear # = Clear-Host
Commandes avec alias
# Utiliser les alias
dir | Where-Object {$_.Extension -eq ".ps1"}
echo "Bonjour" | Out-File -FilePath "salutation.txt"
🚀 Conseils Pratiques
- Toujours utiliser
-Filter *pour commencer vos recherches - Utilisez
-Properties *pour voir toutes les propriétés disponibles - Testez vos commandes avec un seul objet avant de les appliquer à tous
- Sauvegardez vos scripts dans des fichiers
.ps1 - Utilisez les commentaires (
#) pour expliquer vos scripts
📚 Ressources Supplémentaires
Ce cheat sheet couvre les commandes essentielles pour démarrer avec PowerShell et Active Directory. Pour des besoins plus avancés, consultez la documentation complète.