Files
Scripts-Pack-Epsic-122/readme.md

82 lines
4.1 KiB
Markdown

# 📘 Documentation Technique - Automatisation Active Directory
**Projet :** Gestion des collaborateurs (Module 122 - Projet 01)
**Date :** 22 Janvier 2026
**Auteur :** David
**Version :** 1.0
---
## 📋 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.
## ⚙️ Prérequis
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**.
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 :
```powershell
Set-ExecutionPolicy Unrestricted -Scope Process
```
---
## 🛠️ Description des Scripts
### 1. Structure Organisationnelle (`insert_OUs.ps1`)
**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.
* **Gestion d'erreur :** Si l'OU existe déjà, le script l'ignore et continue.
### 2. Sécurité des Comptes (`generate_passwords.ps1`)
**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.
* **Complexité :** 8 caractères minimum, incluant Majuscules, Minuscules, Chiffres et Caractères spéciaux.
### 3. Importation des Utilisateurs (`insert_users.ps1`)
**But :** Créer massivement les comptes utilisateurs.
* **Logique de nommage :** Première lettre du prénom + point + Nom (ex: `p.nom`).
* **Paramètres appliqués :**
* L'utilisateur est placé dans l'OU de son département.
* L'utilisateur doit changer son mot de passe à la première connexion.
* Le compte est activé immédiatement.
### 4. Gestion des Licenciements (`update_expiration_date.ps1`)
**But :** Appliquer la politique de départ pour le département Production.
* **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.
### 5. Archivage (`move_expired_users.ps1`)
**But :** Maintenir l'Active Directory propre en archivant les anciens comptes.
* **Fonctionnement :**
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.
3. Déplace ces utilisateurs vers l'OU `Retired`.
### 6. Sauvegarde (`backup_users.ps1`)
**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\`.
* **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)
Pour une mise en place complète (ex: nouveau serveur), exécutez les scripts dans cet ordre précis :
1. `.\insert_OUs.ps1` (Structure)
2. `.\generate_passwords.ps1` (Données)
3. `.\insert_users.ps1` (Comptes)
4. `.\update_expiration_date.ps1` (Mise à jour statut)
5. `.\move_expired_users.ps1` (Nettoyage)
6. `.\backup_users.ps1` (Sécurisation)
---
## ❓ Dépannage
| 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. |
| **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. |