4.2 KiB
📂 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 :
- Environnement : Windows Server (Contrôleur de domaine) ou une machine Windows avec les outils RSAT (Remote Server Administration Tools) installés.
- Permissions : Le script doit être exécuté avec un compte Administrateur du Domaine (Domain Admin).
- Module PowerShell : Le module
ActiveDirectorydoit ê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
-
Ouvrez PowerShell en tant qu'administrateur.
-
Si ce n'est pas déjà fait, autorisez l'exécution des scripts sur votre machine : Set-ExecutionPolicy RemoteSigned
-
Naviguez vers le dossier contenant le script et le CSV : cd "C:\Chemin\Vers\Le\Dossier"
-
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
$BaseDNincorrect.
- Cause : Problème de droits ou
Auteur : 7ka1 Version : 1.0