Réinitialisation d'un mot de passe dans l'Active Directory

Réinitialisation d'un mot de passe dans l'Active Directory

Mise en œuvre de la procédure de réinitialisation de mot de passe pour les utilisateurs Active Directory avec gestion sécurisée et respect des politiques.
Publié le
Statut
Terminé

Présentation du projet

Ce projet consiste à effectuer une réinitialisation de mot de passe utilisateur dans Active Directory, une tâche courante du support informatique nécessitant rigueur et respect des procédures de sécurité.

Objectifs

  • Maîtriser la procédure de reset de mot de passe
  • Respecter les processus de sécurité et vérification
  • Utiliser les différentes méthodes (GUI et PowerShell)
  • Appliquer les politiques de mot de passe
  • Documenter l’intervention
  • Communiquer efficacement avec l’utilisateur

Contexte technique

Problématique

Un utilisateur peut avoir besoin d’une réinitialisation pour :

  • Oubli du mot de passe
  • Verrouillage du compte (trop de tentatives)
  • Compte compromis (sécurité)
  • Nouveau collaborateur (premier accès)
  • Changement forcé (politique de sécurité)

Solution mise en œuvre

Processus sécurisé de réinitialisation :

  • Vérification de l’identité du demandeur
  • Réinitialisation du mot de passe
  • Déverrouillage du compte si nécessaire
  • Communication sécurisée du nouveau mot de passe
  • Obligation de changement à la première connexion

Réalisation technique

Vérification préalable

Avant toute réinitialisation :

  1. Vérifier l’identité du demandeur :

    • Numéro de téléphone interne
    • Questions de sécurité
    • Demande via le manager (si doute)
    • Ticket GLPI créé
  2. Vérifier l’état du compte :

    POWERSHELL
    Get-ADUser -Identity jdupont -Properties LockedOut, PasswordExpired, Enabled
    Cliquez pour développer et voir plus

Méthode 1 : Interface graphique (ADUC)

Étapes :

  1. Ouvrir AD :

    PLAINTEXT
    Démarrer > Outils d'administration Windows
    > Utilisateurs et ordinateurs Active Directory
    Cliquez pour développer et voir plus
  2. Localiser l’utilisateur :

    • Rechercher (Ctrl+F) ou naviguer dans les OU
    • Trouver “jdupont”
  3. Réinitialiser le mot de passe :

    • Clic droit sur l’utilisateur
    • “Réinitialiser le mot de passe…”
    • Cocher ✅ “L’utilisateur doit changer le mot de passe à la prochaine ouverture de session”
    • Cocher ✅ “Déverrouiller le compte” (si verrouillé)
    • Entrer le nouveau mot de passe temporaire
    • Confirmer

Reset Passwd et option

  1. Vérification :
    • Propriétés > Compte
    • Vérifier que le compte est actif
    • Vérifier que “Verrouillé” n’est pas coché

Reset Passwd verif

Méthode 2 : PowerShell

Réinitialisation simple :

POWERSHELL
# Définir un nouveau mot de passe temporaire
$Password = ConvertTo-SecureString "TempP@ss2025!" -AsPlainText -Force

# Réinitialiser le mot de passe
Set-ADAccountPassword -Identity jdupont -NewPassword $Password -Reset

# Forcer le changement à la prochaine connexion
Set-ADUser -Identity jdupont -ChangePasswordAtLogon $true

# Déverrouiller le compte si nécessaire
Unlock-ADAccount -Identity jdupont

# Vérifier l'état du compte
Get-ADUser -Identity jdupont -Properties LockedOut, PasswordExpired, PasswordLastSet
Cliquez pour développer et voir plus

Script complet avec vérifications :

POWERSHELL
# Script de réinitialisation de mot de passe AD
param(
    [Parameter(Mandatory=$true)]
    [string]$Username
)

# Vérifier que l'utilisateur existe
try {
    $User = Get-ADUser -Identity $Username -Properties LockedOut, PasswordExpired
    Write-Host "Utilisateur trouvé: $($User.Name)" -ForegroundColor Green
} catch {
    Write-Host "Erreur: Utilisateur '$Username' introuvable!" -ForegroundColor Red
    exit
}

# Afficher l'état actuel
Write-Host "`nÉtat actuel du compte:" -ForegroundColor Yellow
Write-Host "  - Compte verrouillé: $($User.LockedOut)"
Write-Host "  - Mot de passe expiré: $($User.PasswordExpired)"

# Générer un mot de passe temporaire sécurisé
$TempPassword = -join ((48..57) + (65..90) + (97..122) | Get-Random -Count 16 | ForEach-Object {[char]$_})
$TempPassword += "!@"  # Ajouter des caractères spéciaux
$SecurePassword = ConvertTo-SecureString $TempPassword -AsPlainText -Force

# Réinitialiser le mot de passe
Set-ADAccountPassword -Identity $Username -NewPassword $SecurePassword -Reset

# Forcer le changement à la prochaine connexion
Set-ADUser -Identity $Username -ChangePasswordAtLogon $true

# Déverrouiller si nécessaire
if ($User.LockedOut) {
    Unlock-ADAccount -Identity $Username
    Write-Host "✓ Compte déverrouillé" -ForegroundColor Green
}

# Résultat
Write-Host "`n✓ Mot de passe réinitialisé avec succès!" -ForegroundColor Green
Write-Host "Mot de passe temporaire: $TempPassword" -ForegroundColor Cyan
Write-Host "`nÀ communiquer à l'utilisateur de manière sécurisée." -ForegroundColor Yellow
Write-Host "L'utilisateur devra changer ce mot de passe à la prochaine connexion.`n"

# Créer un log
$LogEntry = "[$(Get-Date -Format 'yyyy-MM-dd HH:mm:ss')] Réinitialisation du mdp pour $Username"
Add-Content -Path "C:\Logs\AD_Password_Resets.log" -Value $LogEntry
Cliquez pour développer et voir plus

Méthode 3 : Portail Self-Service (SSPR)

Configuration d’un Self-Service Password Reset :

  • Permet aux utilisateurs de réinitialiser eux-mêmes
  • Après vérification (SMS, email, questions)
  • Réduit la charge du support
  • Solution Azure AD ou solutions tierces (ManageEngine, etc.)

États de compte et résolutions

État du compteCauseRésolutionCommande PowerShell
Verrouillé5+ tentatives échouéesUnlock-ADAccount -Identity userUnlock-ADAccount -Identity jdupont
DésactivéAdmin l’a désactivéRéactiver le compteEnable-ADAccount -Identity jdupont
ExpiréDurée max dépasséeRéinit + ChangePasswordAtLogonVoir script complet ci-dessus
Pas d’accèsCompte OK mais droits insuffisantsAjouter aux groupesAdd-ADGroupMember -Identity "IT-Support" -Members "jdupont"
Certificat expiréPour smartcard usersRenouveler certificatVia PKI

Communication sécurisée du mot de passe

⚠️ JAMAIS par email ni SMS !

Méthodes recommandées

MéthodeAvantagesInconvénients
Téléphone interneDirect, sûr, vérifie identitéNon-écrit, confirmation verbale requise
Face-à-faceTrès sûr, vérification immédiateNon-applicable à distance
Portail chiffréTraçable, lien d’un seul usageNécessite infrastructure
Password ManagerSécurisé, automatiséNécessite adoption utilisateur

Protocole de communication

PLAINTEXT
Technicien: "Bonjour Jean, je t'appelle concernant ton mot de passe réinitialisé."
(Confirmer identité par questions de sécurité)
Technicien: "Ton mot de passe temporaire est : C0mpl3x!ty&Secur1ty2025"
Utilisateur: "Répète-moi s'il te plaît" (le client confirme)
Technicien: "À la prochaine connexion, tu devras le changer par un mot de passe personnel."
Cliquez pour développer et voir plus

Déverrouillage de compte

Flags de compte AD importants

POWERSHELL
# Voir tous les flags d'un compte
Get-ADUser -Identity "jdupont" -Properties UserAccountControl |
    Select-Object -ExpandProperty UserAccountControl

# Voir les différents flags
$Flags = @{
    '512'   = 'Compte actif'
    '514'   = 'Compte désactivé'
    '66050' = 'Compte verrouillé + smartcard requis'
    '262144' = 'Mot de passe expiré'
}

# Voir si le compte est verrouillé
Get-ADUser -Identity "jdupont" -Properties LockedOut |
    Select-Object Name, LockedOut
Cliquez pour développer et voir plus

Déverrouillage avec sécurité

POWERSHELL
# 1. Vérifier qui a verrouillé le compte
Get-ADUser -Identity "jdupont" -Properties AccountLockoutTime |
    Select-Object Name, AccountLockoutTime

# 2. Identifier la cause
# - Brute-force attempt ? → Vérifier les logs de sécurité
Get-WinEvent -FilterHashtable @{
    LogName = 'Security'
    ID = 4740  # Account lockout event
    Data = 'jdupont'
} | Format-Table TimeCreated, Message

# 3. Déverrouiller
Unlock-ADAccount -Identity "jdupont"

# 4. Vérifier la réussite
Get-ADUser -Identity "jdupont" -Properties LockedOut |
    Select-Object Name, LockedOut  # Doit afficher False
Cliquez pour développer et voir plus

Résultats obtenus

✅ Mot de passe réinitialisé avec succès ✅ Compte déverrouillé si nécessaire ✅ Changement forcé à la prochaine connexion ✅ Mot de passe communiqué de manière sécurisée ✅ Utilisateur peut se reconnecter ✅ Intervention documentée dans le ticket

Compétences développées

  • Gestion des comptes Active Directory
  • Procédures de support utilisateur sécurisées
  • Utilisation de PowerShell pour l’administration AD
  • Respect des politiques de sécurité
  • Communication avec les utilisateurs
  • Documentation des interventions
  • Déverrouillage et déblocage de comptes
  • Vérification et audit d’état de compte

Exemples de bons mots de passe

MonP@ssw0rd2025!SecureTrav@il#Bureau$2025C0mpl3x!ty&Secur1ty

password123 (trop simple) ❌ jdupont2025 (basé sur le nom) ❌ 123456789 (pas de lettres)

Vérification d’un compte verrouillé

POWERSHELL
# Trouver tous les comptes verrouillés
Search-ADAccount -LockedOut | Select-Object Name, SamAccountName, LockedOut

# Voir le nombre de tentatives de connexion échouées
Get-ADUser -Identity jdupont -Properties badPwdCount |
    Select-Object Name, badPwdCount

# Voir la date du dernier verrouillage
Get-ADUser -Identity jdupont -Properties AccountLockoutTime |
    Select-Object Name, AccountLockoutTime

# Voir l'historique de connexion (tentatives échouées)
Get-ADUser -Identity jdupont -Properties lastLogonTimestamp, LastBadPasswordAttempt |
    Select-Object Name, lastLogonTimestamp, LastBadPasswordAttempt
Cliquez pour développer et voir plus

Documentation de l’intervention

Ticket GLPI :

PLAINTEXT
Ticket #5678 - Réinitialisation mot de passe

Utilisateur: Jean Dupont (jdupont)
Date: 01/11/2025 15:30
Technicien: Lucas Lopes Da Silva

Problème:
Compte verrouillé après 5 tentatives de connexion échouées.

Actions effectuées:
1. Vérification identité (téléphone interne)
2. Vérification état du compte (verrouillé)
3. Réinitialisation du mot de passe
4. Déverrouillage du compte
5. Communication sécurisée du mot de passe temporaire (téléphone)
6. Confirmation de la connexion réussie

Résultat: ✓ Résolu
Durée: 10 minutes
Statut: Fermé
Cliquez pour développer et voir plus

Ressources et documentation

Points clés d’apprentissage

  • La vérification d’identité est CRUCIALE avant toute réinitialisation
  • Le compte peut être verrouillé après plusieurs tentatives échouées
  • Le changement forcé à la prochaine connexion améliore la sécurité
  • Les logs AD enregistrent toutes les modifications
  • PowerShell permet d’automatiser et de tracer les opérations
  • Un mot de passe temporaire doit être complexe même s’il est changé ensuite
  • Jamais communiquer le mot de passe par email ou SMS
  • DéverrouillageRéinitialisation (distinctions importantes)
  • Flags UserAccountControl (512, 514, etc.) indiquent l’état du compte
  • Event ID 4740 dans Security logs = tentative de verrouillage par brute-force

Commencer la recherche

Saisissez des mots-clés pour rechercher des articles

↑↓
ESC
⌘K Raccourci