diff --git a/readme.md b/readme.md new file mode 100644 index 0000000..87fac07 --- /dev/null +++ b/readme.md @@ -0,0 +1,108 @@ +# 📂 Script : Importation Massive d'Utilisateurs AD + +## 📝 Description +Ce script PowerShell (`insert_users.ps1`) permet d'automatiser la crĂ©ation de comptes utilisateurs dans **Active Directory** Ă  partir d'un fichier source CSV. + +**FonctionnalitĂ©s principales :** +* **CrĂ©ation automatique des utilisateurs** : Importe les identitĂ©s depuis le fichier CSV. +* **Gestion dynamique des OUs** : Si l'OU (DĂ©partement) indiquĂ©e dans le CSV n'existe pas, le script la crĂ©e automatiquement. +* **Gestion des mots de passe** : Convertit les mots de passe en chaĂźne sĂ©curisĂ©e (SecureString). +* **SĂ©curitĂ©** : L'option "L'utilisateur doit changer le mot de passe Ă  la prochaine ouverture de session" est activĂ©e par dĂ©faut (`ChangePasswordAtLogon`). + +--- + +## ⚙ PrĂ©requis + +Avant de lancer le script, assurez-vous de disposer des Ă©lĂ©ments suivants : + +1. **Environnement :** Windows Server (ContrĂŽleur de domaine) ou une machine Windows avec les outils **RSAT** (Remote Server Administration Tools) installĂ©s. +2. **Permissions :** Le script doit ĂȘtre exĂ©cutĂ© avec un compte **Administrateur du Domaine** (Domain Admin). +3. **Module PowerShell :** Le module `ActiveDirectory` doit ĂȘtre prĂ©sent sur la machine. + +--- + +## 📊 Format du fichier CSV + +Le script attend un fichier nommĂ© par dĂ©faut : `happy_koalas_employees_with_passwords.csv` (modifiable dans la variable `$CsvFilePath` du script). + +* **DĂ©limiteur :** Point-virgule (`;`) +* **Encodage recommandĂ© :** UTF-8 +* **EntĂȘtes obligatoires :** + +| En-tĂȘte | Description | Exemple | +| :--- | :--- | :--- | +| `FirstName` | PrĂ©nom | Jean | +| `LastName` | Nom de famille | Dupont | +| `UserName` | Identifiant de connexion (SAMAccountName) | jdupont | +| `Password` | Mot de passe initial (Doit respecter la complexitĂ© AD) | P@ssw0rd123! | +| `Email` | Adresse email | jean.dupont@entreprise.com | +| `Department` | Nom du dĂ©partement (deviendra l'OU) | IT | +| `JobTitle` | Titre du poste | Technicien | + +**Exemple de contenu CSV :** +FirstName;LastName;UserName;Password;Email;Department;JobTitle +Jean;Dupont;jdupont;SuperPass123!;jean.dupont@domaine.com;Comptabilite;Comptable +Marie;Curie;mcurie;Science2024!;marie.curie@domaine.com;R&D;Chercheuse + + +--- + +## 🔧 Configuration du script + +Avant la premiĂšre exĂ©cution, vous **devez Ă©diter** le fichier `insert_users.ps1` pour l'adapter Ă  votre infrastructure spĂ©cifique. + +### 1. Modifier le Domaine (Variable `$DomainDN`) +Remplacez la valeur par le Distinguished Name (DN) de votre racine. +* *Ligne approx. 14* + +# Exemple pour le domaine "monentreprise.local" : +$DomainDN = "DC=monentreprise,DC=local" + + +### 2. Modifier le suffixe UPN (Variable `$UserParams`) +Par dĂ©faut, le script attribue `@happykoalas.com`. Modifiez cette ligne pour correspondre Ă  votre domaine de messagerie/connexion. +* *Ligne approx. 68* + +UserPrincipalName = "$SamAccount@monentreprise.com" + + +### 3. Chemin du CSV (Optionnel) +Si vous changez le nom du fichier CSV, mettez Ă  jour la variable `$CsvFilePath`. + +--- + +## 🚀 Utilisation + +1. Ouvrez **PowerShell en tant qu'administrateur**. +2. Si ce n'est pas dĂ©jĂ  fait, autorisez l'exĂ©cution des scripts sur votre machine : + Set-ExecutionPolicy RemoteSigned + +3. Naviguez vers le dossier contenant le script et le CSV : + cd "C:\Chemin\Vers\Le\Dossier" + +4. ExĂ©cutez le script : + .\insert_users.ps1 + + +--- + +## ⚠ DĂ©pannage courant (Troubleshooting) + +* **Erreur "Le terme 'Import-Module' n'est pas reconnu..."** + * *Cause :* Le module Active Directory n'est pas installĂ©. + * *Solution :* Installez les outils RSAT pour AD DS. + +* **Erreur "Impossible de trouver le fichier..."** + * *Cause :* Le nom du fichier CSV dans le script ne correspond pas au nom rĂ©el du fichier, ou le fichier n'est pas dans le mĂȘme dossier. + +* **Erreur de crĂ©ation d'utilisateur (Mot de passe)** + * *Cause :* Le mot de passe dans le CSV ne respecte pas la politique de sĂ©curitĂ© du domaine (longueur, complexitĂ©). + * *Solution :* Mettez des mots de passe plus complexes dans le CSV ou dĂ©sactivez temporairement la complexitĂ© des mots de passe dans les GPO (dĂ©conseillĂ©). + +* **Erreur "L'OU n'existe pas" (malgrĂ© la tentative de crĂ©ation)** + * *Cause :* ProblĂšme de droits ou `$BaseDN` incorrect. + +--- + +**Auteur :** 7ka1 +**Version :** 1.0 \ No newline at end of file