Actualiser readme.md

This commit is contained in:
2026-01-27 09:32:58 +00:00
parent e1ac42ae1f
commit cdbb3c6281

162
readme.md
View File

@@ -1,81 +1,81 @@
# 📘 Documentation Technique - Automatisation Active Directory # 📘 Documentation Technique - Automatisation Active Directory
**Projet :** Gestion des collaborateurs (Module 122 - Projet 01) **Projet :** Gestion des collaborateurs (Module 122 - Projet 01)
**Date :** 22 Janvier 2026 **Date :** 22 Janvier 2026
**Auteur :** David **Auteur :** 7ka1
**Version :** 1.0 **Version :** 1.0
--- ---
## 📋 Présentation ## 📋 Présentation
Ce document détaille la procédure d'utilisation des scripts PowerShell développés pour l'automatisation de la gestion des utilisateurs du domaine `epsicschool.local`. Ces scripts permettent de créer l'architecture, d'importer les utilisateurs, de gérer les départs et d'assurer les sauvegardes. Ce document détaille la procédure d'utilisation des scripts PowerShell développés pour l'automatisation de la gestion des utilisateurs du domaine `epsicschool.local`. Ces scripts permettent de créer l'architecture, d'importer les utilisateurs, de gérer les départs et d'assurer les sauvegardes.
## ⚙️ Prérequis ## ⚙️ Prérequis
Avant d'exécuter les scripts, assurez-vous de respecter les points suivants : Avant d'exécuter les scripts, assurez-vous de respecter les points suivants :
1. **Privilèges :** Tous les scripts doivent être exécutés dans une console PowerShell en tant qu'**Administrateur**. 1. **Privilèges :** Tous les scripts doivent être exécutés dans une console PowerShell en tant qu'**Administrateur**.
2. **Source de données :** Le fichier `happy_koalas_employees.csv` doit être présent dans le même dossier que les scripts. 2. **Source de données :** Le fichier `happy_koalas_employees.csv` doit être présent dans le même dossier que les scripts.
3. **Politique d'exécution :** Si les scripts sont bloqués, exécutez la commande suivante : 3. **Politique d'exécution :** Si les scripts sont bloqués, exécutez la commande suivante :
```powershell ```powershell
Set-ExecutionPolicy Unrestricted -Scope Process Set-ExecutionPolicy Unrestricted -Scope Process
``` ```
--- ---
## 🛠️ Description des Scripts ## 🛠️ Description des Scripts
### 1. Structure Organisationnelle (`insert_OUs.ps1`) ### 1. Structure Organisationnelle (`insert_OUs.ps1`)
**But :** Créer l'arborescence des départements dans l'Active Directory. **But :** Créer l'arborescence des départements dans l'Active Directory.
* **Fonctionnement :** Lit la colonne "Department" du fichier CSV et crée une Unité d'Organisation (OU) pour chaque département unique à la racine du domaine. * **Fonctionnement :** Lit la colonne "Department" du fichier CSV et crée une Unité d'Organisation (OU) pour chaque département unique à la racine du domaine.
* **Gestion d'erreur :** Si l'OU existe déjà, le script l'ignore et continue. * **Gestion d'erreur :** Si l'OU existe déjà, le script l'ignore et continue.
### 2. Sécurité des Comptes (`generate_passwords.ps1`) ### 2. Sécurité des Comptes (`generate_passwords.ps1`)
**But :** Générer des mots de passe forts avant la création des comptes. **But :** Générer des mots de passe forts avant la création des comptes.
* **Fonctionnement :** Ajoute une colonne "Password" dans le fichier CSV source. * **Fonctionnement :** Ajoute une colonne "Password" dans le fichier CSV source.
* **Complexité :** 8 caractères minimum, incluant Majuscules, Minuscules, Chiffres et Caractères spéciaux. * **Complexité :** 8 caractères minimum, incluant Majuscules, Minuscules, Chiffres et Caractères spéciaux.
### 3. Importation des Utilisateurs (`insert_users.ps1`) ### 3. Importation des Utilisateurs (`insert_users.ps1`)
**But :** Créer massivement les comptes utilisateurs. **But :** Créer massivement les comptes utilisateurs.
* **Logique de nommage :** Première lettre du prénom + point + Nom (ex: `p.nom`). * **Logique de nommage :** Première lettre du prénom + point + Nom (ex: `p.nom`).
* **Paramètres appliqués :** * **Paramètres appliqués :**
* L'utilisateur est placé dans l'OU de son département. * L'utilisateur est placé dans l'OU de son département.
* L'utilisateur doit changer son mot de passe à la première connexion. * L'utilisateur doit changer son mot de passe à la première connexion.
* Le compte est activé immédiatement. * Le compte est activé immédiatement.
### 4. Gestion des Licenciements (`update_expiration_date.ps1`) ### 4. Gestion des Licenciements (`update_expiration_date.ps1`)
**But :** Appliquer la politique de départ pour le département Production. **But :** Appliquer la politique de départ pour le département Production.
* **Cible :** Utilisateurs du département "Production" avec le titre "Assembler". * **Cible :** Utilisateurs du département "Production" avec le titre "Assembler".
* **Action :** Définit la date d'expiration du compte à J-1 (Hier), rendant le compte inopérant immédiatement. * **Action :** Définit la date d'expiration du compte à J-1 (Hier), rendant le compte inopérant immédiatement.
### 5. Archivage (`move_expired_users.ps1`) ### 5. Archivage (`move_expired_users.ps1`)
**But :** Maintenir l'Active Directory propre en archivant les anciens comptes. **But :** Maintenir l'Active Directory propre en archivant les anciens comptes.
* **Fonctionnement :** * **Fonctionnement :**
1. Vérifie si l'OU `Retired` existe (la crée sinon). 1. Vérifie si l'OU `Retired` existe (la crée sinon).
2. Recherche tous les utilisateurs dont la date d'expiration est dépassée. 2. Recherche tous les utilisateurs dont la date d'expiration est dépassée.
3. Déplace ces utilisateurs vers l'OU `Retired`. 3. Déplace ces utilisateurs vers l'OU `Retired`.
### 6. Sauvegarde (`backup_users.ps1`) ### 6. Sauvegarde (`backup_users.ps1`)
**But :** Assurer la pérennité des données (Backup & Recovery). **But :** Assurer la pérennité des données (Backup & Recovery).
* **Action Immédiate :** Exporte les utilisateurs présents dans les OU vers un fichier CSV, puis le compresse en ZIP dans le dossier `C:\backups\`. * **Action Immédiate :** Exporte les utilisateurs présents dans les OU vers un fichier CSV, puis le compresse en ZIP dans le dossier `C:\backups\`.
* **Automatisation :** Crée une tâche planifiée Windows nommée "BackupUsersDaily" qui exécutera ce script automatiquement **chaque jour à 23h00**. * **Automatisation :** Crée une tâche planifiée Windows nommée "BackupUsersDaily" qui exécutera ce script automatiquement **chaque jour à 23h00**.
--- ---
## 🚀 Guide de Démarrage Rapide (Workflow) ## 🚀 Guide de Démarrage Rapide (Workflow)
Pour une mise en place complète (ex: nouveau serveur), exécutez les scripts dans cet ordre précis : Pour une mise en place complète (ex: nouveau serveur), exécutez les scripts dans cet ordre précis :
1. `.\insert_OUs.ps1` (Structure) 1. `.\insert_OUs.ps1` (Structure)
2. `.\generate_passwords.ps1` (Données) 2. `.\generate_passwords.ps1` (Données)
3. `.\insert_users.ps1` (Comptes) 3. `.\insert_users.ps1` (Comptes)
4. `.\update_expiration_date.ps1` (Mise à jour statut) 4. `.\update_expiration_date.ps1` (Mise à jour statut)
5. `.\move_expired_users.ps1` (Nettoyage) 5. `.\move_expired_users.ps1` (Nettoyage)
6. `.\backup_users.ps1` (Sécurisation) 6. `.\backup_users.ps1` (Sécurisation)
--- ---
## ❓ Dépannage ## ❓ Dépannage
| Erreur rencontrée | Solution | | Erreur rencontrée | Solution |
| :--- | :--- | | :--- | :--- |
| **Accès refusé / UnauthorizedAccess** | Vérifiez que vous avez bien fait "Clic-droit > Exécuter en tant qu'administrateur" sur PowerShell. | | **Accès refusé / UnauthorizedAccess** | Vérifiez que vous avez bien fait "Clic-droit > Exécuter en tant qu'administrateur" sur PowerShell. |
| **Fichier introuvable** | Vérifiez que le fichier CSV est bien dans le même dossier que le script. | | **Fichier introuvable** | Vérifiez que le fichier CSV est bien dans le même dossier que le script. |
| **Execution Policy...** | Tapez `Set-ExecutionPolicy Bypass` avant de lancer le script. | | **Execution Policy...** | Tapez `Set-ExecutionPolicy Bypass` avant de lancer le script. |