2026-01-15 13:55:24 +00:00
2026-01-15 13:55:24 +00:00

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 :
.\move_expired_users.ps1
Description
No description provided
Readme 28 KiB
Languages
PowerShell 100%