# Script : Archivage des utilisateurs expirés vers 'Retired' **Nom du fichier :** `move_expired_users.ps1` ## 📋 Description Ce script automatise la maintenance de l'Active Directory en identifiant les comptes utilisateurs dont la date d'expiration est dépassée et en les déplaçant vers une Unité d'Organisation (OU) dédiée à l'archivage. Cela permet de garder les OU de production propres et de séparer les comptes inactifs des comptes actifs. ## 🚀 Fonctionnalités * **Gestion automatique de l'infrastructure :** Vérifie l'existence de l'OU cible (`Retired`). Si elle n'existe pas, le script la crée automatiquement à la racine du domaine. * **Filtrage intelligent :** Cible uniquement les utilisateurs ayant une date d'expiration définie et passée (inférieure à l'heure actuelle). Les comptes sans date d'expiration (valeur `null`) sont ignorés. * **Prévention des erreurs :** Vérifie si un utilisateur est déjà dans l'OU cible avant de tenter le déplacement, évitant ainsi des erreurs inutiles. * **Journalisation console :** * Affiche la création de l'OU si nécessaire. * Confirme chaque déplacement réussi en vert. * Signale les erreurs de déplacement en rouge. ## ⚙️ Configuration Le script utilise les variables suivantes (définies au début du fichier) : | Variable | Valeur par défaut | Description | | :--- | :--- | :--- | | `$RetiredOUName` | `"Retired"` | Le nom de l'OU de destination. | | `$DomainDN` | *(Auto)* | Récupéré automatiquement via `Get-ADDomain`. | **Note :** L'OU sera créée/cherchée à la racine du domaine (ex: `OU=Retired,DC=votre,DC=domaine`). ## 🛠️ Prérequis 1. **Module Active Directory :** Le script nécessite le module PowerShell AD. 2. **Droits d'administration :** * Droit de **créer une OU** à la racine du domaine (si elle n'existe pas encore). * Droit de **déplacer des objets** utilisateurs (Move object) depuis leurs OU d'origine vers l'OU Retired. ## 📖 Utilisation 1. Téléchargez le fichier `move_expired_users.ps1`. 2. Ouvrez une console PowerShell avec les privilèges appropriés. 3. Exécutez le script : ```powershell .\move_expired_users.ps1