Utilisateurs
Créer un utilisateur (New-ADUser)
$Password = ConvertTo-SecureString "TempPass123!" -AsPlainText -Force
New-ADUser `
-Name "John Doe" `
-SamAccountName "jdoe" `
-UserPrincipalName "jdoe@domain.com" `
-GivenName "John" `
-Surname "Doe" `
-DisplayName "Doe, John" `
-EmailAddress "jdoe@domain.com" `
-Title "Developer" `
-Department "IT" `
-Company "ACME Corp" `
-Office "Casablanca" `
-Path "OU=IT,DC=domain,DC=com" `
-AccountPassword $Password `
-Enabled $true `
-ChangePasswordAtLogon $true
| Paramètre |
Statut |
Description |
-Name |
Obligatoire |
Nom d'affichage de l'utilisateur |
-SamAccountName |
Obligatoire |
Nom d'ouverture de session Windows (max 20 caractères) |
-UserPrincipalName |
Recommandé |
UPN : user@domain.com |
-GivenName |
Optionnel |
Prénom |
-Surname |
Optionnel |
Nom de famille |
-DisplayName |
Optionnel |
Nom complet affiché dans l'annuaire |
-EmailAddress |
Optionnel |
Adresse email professionnelle |
-Title |
Optionnel |
Titre / Poste |
-Department |
Optionnel |
Département |
-Company |
Optionnel |
Entreprise |
-Office |
Optionnel |
Bureau / Localisation |
-OfficePhone |
Optionnel |
Téléphone de bureau |
-MobilePhone |
Optionnel |
Téléphone mobile |
-StreetAddress |
Optionnel |
Adresse postale |
-City |
Optionnel |
Ville |
-State |
Optionnel |
Région / État |
-PostalCode |
Optionnel |
Code postal |
-Country |
Optionnel |
Pays (code ISO 2 lettres : MA, FR, etc.) |
-Description |
Optionnel |
Description / Notes |
-HomePage |
Optionnel |
Site web personnel |
-Manager |
Optionnel |
DN du responsable : CN=Boss,OU=IT,DC=domain,DC=com |
-Path |
Optionnel |
OU de destination : OU=IT,DC=domain,DC=com |
-AccountPassword |
Optionnel |
Mot de passe (SecureString) |
-Enabled |
Optionnel |
Activer le compte ($true / $false) |
-ChangePasswordAtLogon |
Optionnel |
Forcer changement au 1er logon |
-PasswordNeverExpires |
Optionnel |
Mot de passe n'expire jamais |
-CannotChangePassword |
Optionnel |
Empêcher l'utilisateur de changer son mot de passe |
-AccountExpirationDate |
Optionnel |
Date d'expiration du compte : "31/12/2026" |
-ScriptPath |
Optionnel |
Chemin du script de logon : \\server\scripts\logon.bat |
Modifier un utilisateur (Set-ADUser)
Set-ADUser -Identity "jdoe" `
-Title "Senior Developer" `
-Department "Development" `
-Manager "CN=Boss,OU=IT,DC=domain,DC=com"
# Effacer des attributs
Set-ADUser -Identity "jdoe" -Clear @("Title", "Department")
| Paramètre |
Statut |
Description |
-Identity |
Obligatoire |
SamAccountName, DN, GUID ou SID |
-Manager |
Optionnel |
DN du responsable |
-ScriptPath |
Optionnel |
Script de logon |
-Clear |
Optionnel |
Effacer un ou plusieurs attributs |
Récupérer un utilisateur (Get-ADUser)
# Utilisateur spécifique avec tous ses attributs
Get-ADUser -Identity "jdoe" -Properties *
# Tous les utilisateurs d'un département
Get-ADUser -Filter {Department -eq "IT"} `
-SearchBase "OU=Users,DC=domain,DC=com"
# Utilisateurs inactifs depuis 90 jours
Get-ADUser -Filter {LastLogonDate -lt (Get-Date).AddDays(-90)}
| Paramètre |
Statut |
Description |
-Identity |
Optionnel |
Utilisateur spécifique |
-Filter |
Optionnel |
Filtre PowerShell |
-SearchBase |
Optionnel |
OU de départ pour la recherche |
-SearchScope |
Optionnel |
Base, OneLevel, ou Subtree |
-Properties |
Optionnel |
Attributs à retourner (* = tous) |
Supprimer un utilisateur (Remove-ADUser)
# Tester avant de supprimer
Remove-ADUser -Identity "jdoe" -WhatIf
# Supprimer
Remove-ADUser -Identity "jdoe" -Confirm:$false
Bonnes pratiques
- Toujours tester avec
-WhatIf avant une suppression
- Utiliser
-Properties * pour voir tous les attributs d'un objet
- Utiliser des filtres plutôt que
Get-ADUser | Where-Object pour la performance
- Toujours spécifier
-SearchBase pour limiter le scope de recherche