Les scripts peuvent être utilisés seuls ou depuis le manager.
- Infos du domaine
- Infos d'utilisateurs
- Infos de groupes
- Informations sur les OU
- Rapport des utilisateurs inactifs
- Rapport des utilisateurs désactivés
- Rapport des groupes de sécurité
- Rapport complet Active Directory
- Création d'utilisateurs
- Ajout d'un nouvel employé
- Modification d'utilisateurs
- Activation et désactivation d'utilisateurs
- Ajout d'utilisateurs à des groupes
- Suppression d'utilisateurs
- Retrait d'un employé
- Réactivation d'un employé
- Réinitialisation de mot de passe
AD-powershell-manager/
├── Scripts/
│ ├── Informations/
│ │ ├── infos_AD_domain.ps1
│ │ ├── infos_AD_users.ps1
│ │ ├── infos_AD_groups.ps1
│ │ ├── infos_AD_OU.ps1
│ │ ├── report_AD_inactiveUsers.ps1
│ │ ├── report_AD_disabledUsers.ps1
│ │ ├── report_AD_securityGroups.ps1
│ │ └── report_AD_complete.ps1
│ ├── Utilisateurs/
│ │ ├── create_AD_user.ps1
│ │ ├── add_AD_newEmployee.ps1
│ │ ├── modify_AD_user.ps1
│ │ ├── enable_AD_user.ps1
│ │ ├── disable_AD_user.ps1
│ │ ├── add_AD_users_to_group.ps1
│ │ ├── delete_AD_user.ps1
│ │ ├── remove_AD_employee.ps1
│ │ ├── reactivate_AD_employee.ps1
│ │ └── reset_AD_employeePassword.ps1
│ ├── Groupes/
│ │ ├── create_AD_group.ps1
│ │ ├── add_AD_groups_in_OU.ps1
│ │ ├── add_AD_group_in_group.ps1
│ │ └── remove_AD_member_from_group.ps1
│ └── OUs/
│ ├── create_AD_OU.ps1
│ └── modify_AD_user_OU.ps1
├── CSV/
│ └── (exemples de fichiers CSV pour les imports en masse)
├── LICENSE
└── README.MD
Avant d'exécuter les scripts PowerShell fournis dans ce repo, assurez-vous de remplir les conditions suivantes :
Le module Active Directory doit être installé sur votre système.
Ce module est généralement inclus avec les outils d'administration de serveur distant (RSAT) pour Windows.
Voici comment l'installer :
-
Pour les systèmes Windows Server :
Add-WindowsFeature -Name "RSAT-AD-PowerShell" –IncludeAllSubFeature
Ou installation depuis le gestionnaire de serveur en ajoutant la fonctionnalité :
"Outils d'administration de serveur distant" > "Outils d'administration des rôles" > "Outils AD DS et AD LDS" > "Module Active Directory pour Windows PowerShell".
-
Pour les systèmes Windows 10/11 :
Get-WindowsCapability -Name Rsat.ActiveDirectory* -Online | Add-WindowsCapability -Online
Vous devez disposer des autorisations appropriées pour exécuter des commandes Active Directory.
Cela inclut généralement les droits d'administrateur de domaine ou des droits délégués spécifiques pour gérer les utilisateurs et les groupes dans Active Directory.
Assurez-vous que la politique d'exécution de PowerShell permet l'exécution de scripts.
Vous pouvez vérifier et modifier la politique d'exécution en utilisant les commandes suivantes :
Get-ExecutionPolicy
Set-ExecutionPolicy RemoteSignedDescription : Ce script PowerShell récupère et affiche diverses informations sur l'Active Directory, telles que les contrôleurs de domaine, les utilisateurs, les groupes et les unités organisationnelles.
Exemple d'utilisation :
.\infos_ad.ps1Exécute le script et affiche les informations de l'Active Directory.
Description : Ce script PowerShell récupère et affiche diverses informations sur les utilisateurs dans Active Directory, telles que les noms, les adresses e-mail, les départements et les statuts des comptes.
Exemples d'utilisation :
.\infos_user.ps1 -Names "John,Doe,Jane"Exécute le script et affiche les informations des utilisateurs dans Active Directory.
.\infos_user.ps1 -Names *Exécute le script et affiche les informations de tous les utilisateurs dans Active Directory.
.\infos_user.ps1 -Login "jdoe,asmith"Exécute le script et affiche les informations des utilisateurs avec les logins spécifiés dans Active Directory.
.\infos_user.ps1 -Login "*"Exécute le script et affiche les informations de tous les utilisateurs dans Active Directory.
.\infos_user.ps1 -FirstLetter "J, B"Exécute le script et affiche les informations des utilisateurs dont le nom commence par la lettre spécifiée.
.\infos_user.ps1 -Titre "Administrateur"Exécute le script et affiche les informations des utilisateurs avec le mot spécifié dans leur titre dans Active Directory.
.\infos_user.ps1 -CountExécute le script et affiche le nombre total d'utilisateurs dans Active Directory.
Paramètres :
- Names : Une liste de noms d'utilisateurs séparés par des virgules pour lesquels récupérer les informations. Ou * pour tous les utilisateurs.
- Login : Une liste de logins d'utilisateurs séparés par des virgules pour lesquels récupérer les informations. Ou * pour tous les utilisateurs.
- FirstLetter : La première lettre des noms d'utilisateurs pour lesquels récupérer les informations.
- Titre : Un mot ou une phrase dans le titre des utilisateurs pour lesquels récupérer les informations.
Description : Ce script PowerShell permet de récupérer et d'afficher les informations des groupes spécifiques dans Active Directory en utilisant leurs noms.
Exemples d'utilisation :
.\infos_AD_groups.ps1 -Group "IT_Group"Exécute le script pour récupérer les informations du groupe spécifié (nombre de membres, noms des membres avec le titre et les autres groupes dont ils sont membres).
.\infos_AD_groups.ps1 -Group "IT_Group, HR_Group"Exécute le script pour récupérer les informations de plusieurs groupes dont les noms sont spécifiés, séparés par des virgules.
Paramètre :
- Group : Le nom du/des groupe(s) dont les informations doivent être récupérées. (obligatoire)
Description : Ce script PowerShell récupère et affiche des informations sur les Unités d'Organisation (OU) dans Active Directory, y compris les sous-OU et les objets qu'elles contiennent.
Exemples d'utilisation :
.\infos_AD_OU.ps1Exécute le script pour afficher toutes les OUs dans le domaine Active Directory.
.\infos_AD_OU.ps1 -OuName "Service_IT"Exécute le script pour afficher les informations de l'OU "Service_IT". Possible de spécifier plusieurs OUs en les séparant par une virgule.
.\infos_AD_OU.ps1 -OuName "Service_IT" -Properties "Name,DistinguishedName,Description"Exécute le script pour afficher les propriétés spécifiées de l'OU "Service_IT".
.\infos_AD_OU.ps1 -OuName "Service_IT" -Count -Objects "Users (ou Groups, ou Computers, ou OU)" -SearchScope "OneLevel (ou Subtree)"Exécute le script pour afficher le nombre d'objets spécifiés par -Objects dans l'OU "Service_IT" avec le scope de recherche défini par -SearchScope.
- OneLevel : Recherche uniquement dans l'OU spécifiée.
- Subtree : Recherche dans l'OU spécifiée et toutes ses sous-OUs.
.\infos_AD_OU.ps1 -OuName "Service_IT" -Properties "Name,DistinguishedName,Description" -Count -Objects "Users (ou Groups, ou Computers, ou OU)" -SearchScope "OneLevel (ou Subtree)"Exécute le script pour afficher le nombre d'objets spécifiés par -Objects dans l'OU "Service_IT" avec le scope de recherche défini par -SearchScope et les propriétés spécifiées avec -Properties.
- OneLevel : Recherche uniquement dans l'OU spécifiée.
- Subtree : Recherche dans l'OU spécifiée et toutes ses sous-OUs.
.\infos_AD_OU.ps1 -FilePath "C:\ous_to_check.csv" (ou -FilePath "C:\ous_to_check.csv" -Properties "Name,DistinguishedName,Description" -Count -Objects "Users (ou Groups, ou Computers, ou OU)" -SearchScope "OneLevel (ou Subtree)")Exécute le script et affiche les informations de toutes les OUs listées dans un fichier CSV. Le fichier doit avoir au moins la colonne: OuName (facultatif : Properties, Objects, SearchScope).
Les paramètres Properties, Objects et SearchScope peuvent définis dans le fichier CSV pour afficher des informations différentes pour chaque OU ou en paramètre du script pour afficher les mêmes informations pour toutes les OUs.
Si -Count est utilisé en paramètre du script, Objects et SearchScope doivent être définis dans le fichier CSV ou en paramètre du script.
Description : Ce script PowerShell génère un rapport des utilisateurs qui n'ont pas changé leur mot de passe depuis un nombre de jours spécifié (90 jours par défaut). Il affiche le login, le nom complet, la dernière modification du mot de passe, et le nombre de jours depuis cette modification. Les résultats sont triés par nombre de jours décroissant et peuvent être exportés en CSV.
Exemples d'utilisation :
.\report_AD_inactiveUsers.ps1Affiche tous les utilisateurs n'ayant pas changé leur mot de passe depuis plus de 90 jours et exporte le résultat vers un CSV par défaut.
.\report_AD_inactiveUsers.ps1 -Days 60Affiche tous les utilisateurs n'ayant pas changé leur mot de passe depuis plus de 60 jours.
.\report_AD_inactiveUsers.ps1 -Days 90 -ExportPath "C:\Reports\inactifs.csv"Affiche les utilisateurs inactifs depuis 90 jours et exporte vers le fichier spécifié.
.\report_AD_inactiveUsers.ps1 -Days 90 -NoExportAffiche uniquement les résultats sans exporter en CSV.
Paramètres :
- Days : Nombre de jours d'inactivité basé sur le dernier changement de mot de passe. (facultatif, 90 par défaut)
- ExportPath : Chemin complet du fichier CSV d'export. (facultatif, par défaut: C:\Reports\inactive_users_YYYYMMDD_HHMMSS.csv)
- NoExport : Si spécifié, n'exporte pas les résultats en CSV, affiche uniquement à l'écran. (facultatif)
Description : Ce script PowerShell liste tous les comptes utilisateurs désactivés. Il affiche le login, le nom, l'OU et la date de désactivation si elle est présente dans la description du compte. Les résultats peuvent être exportés en CSV.
Exemples d'utilisation :
.\report_AD_disabledUsers.ps1Affiche tous les comptes désactivés et exporte le rapport vers un CSV par défaut.
.\report_AD_disabledUsers.ps1 -ExportPath "C:\Reports\disabled_users.csv"Affiche les comptes désactivés et exporte vers le fichier spécifié.
.\report_AD_disabledUsers.ps1 -NoExportAffiche uniquement les résultats sans exporter en CSV.
Paramètres :
- ExportPath : Chemin complet du fichier CSV d'export. (facultatif, par défaut: C:\Reports\disabled_users_YYYYMMDD_HHMMSS.csv)
- NoExport : Si spécifié, n'exporte pas les résultats en CSV, affiche uniquement à l'écran. (facultatif)
Description : Ce script PowerShell génère un rapport détaillé de tous les groupes de sécurité dans Active Directory. Il affiche le nombre de membres pour chaque groupe, identifie les groupes vides, et génère un rapport HTML avec mise en forme CSS présentant le nom du groupe, sa description, le nombre de membres, et la liste complète des membres.
Exemples d'utilisation :
.\report_AD_securityGroups.ps1Affiche le résumé des groupes et exporte le rapport détaillé en HTML.
.\report_AD_securityGroups.ps1 -ExportPath "C:\Reports\groupes.html"Exporte le rapport vers le fichier HTML spécifié.
.\report_AD_securityGroups.ps1 -NoExportAffiche uniquement le résumé sans exporter en HTML.
.\report_AD_securityGroups.ps1 -IncludeDistributionInclut également les groupes de distribution (pas seulement les groupes de sécurité).
Paramètres :
- ExportPath : Chemin complet du fichier HTML d'export. (facultatif, par défaut: C:\Reports\security_groups_YYYYMMDD_HHMMSS.html)
- NoExport : Si spécifié, affiche uniquement le résumé sans exporter en HTML. (facultatif)
- IncludeDistribution : Si spécifié, inclut également les groupes de distribution. (facultatif)
- LogFilePath : Le chemin du fichier journal où le rapport sera enregistré. (facultatif, par défaut: C:\logs\group_reports)
Description : Ce script PowerShell permet de créer de nouveaux utilisateurs dans Active Directory avec des propriétés spécifiées telles que le nom, le prénom, le login, l'adresse e-mail, le titre et l'unité organisationnelle.
Exemples d'utilisation :
.\create_AD_user.ps1 -Prenom "John" -Nom "Doe" -Login "jdoe" -Email "john.doe@example.com" -Titre "Manager" -OU "OU=Users" -Password "TempP@ssw0rd123456!" -Enable "true"Exécute le script pour créer un nouvel utilisateur avec les propriétés spécifiées.
.\create_AD_user.ps1 -FilePath "C:\users.csv"Exécute le script et crée tous les utilisateurs à partir d'un fichier CSV.
Paramètres :
- Prenom : Le prénom de l'utilisateur au format "Prénom". (obligatoire si FilePath n'est pas spécifié)
- Nom : Le nom de l'utilisateur au format "Nom". (obligatoire si FilePath n'est pas spécifié)
- Login : Le nom d'utilisateur (login) pour l'utilisateur au format "login". (obligatoire si FilePath n'est pas spécifié)
- Email : L'adresse e-mail de l'utilisateur au format "email". (obligatoire si FilePath n'est pas spécifié)
- Titre : Le titre ou poste de l'utilisateur au format "Titre". (facultatif)
- OU : L'unité organisationnelle où l'utilisateur sera créé au format "OU=Users" (facultatif, l'OU est générée automatiquement à partir du département si non spécifié)
- Manager : Le login du manager de l'utilisateur. (facultatif)
- Departement : Le département de l'utilisateur. (facultatif)
- Groupe : Les groupes auxquels l'utilisateur sera ajouté, séparés par des virgules. (facultatif)
- Password : Le mot de passe de l'utilisateur. (facultatif) Si non spécifié, un mot de passe par défaut sera utilisé ("TempP@ssw0rd123456!").
- Enable : Indique si le compte utilisateur doit être activé ou non. (facultatif, par défaut true)
- FilePath : Chemin vers un fichier CSV contenant les utilisateurs à créer. Le fichier doit avoir au moins les colonnes: Prenom, Nom, Login, Email, OU (Titre, Manager, Departement, Groupe, Password sont facultatifs)
Description : Ce script PowerShell est une interface interactive pour créer un nouvel employé dans Active Directory. Il demande les informations de l'utilisateur et appelle automatiquement le script create_AD_user.ps1 pour effectuer la création. Le script génère automatiquement le login et l'email à partir du nom et prénom, détermine l'OU à partir du département, et ajoute l'utilisateur aux groupes appropriés.
Exemples d'utilisation :
.\add_AD_newEmployee.ps1 -AutoMode interactif avec prompts pour chaque paramètre.
.\add_AD_newEmployee.ps1 -Prenom "John" -Nom "Doe" -Titre "Développeur" -Departement "Developpement" -Manager "jsmith"Crée directement l'utilisateur sans prompts.
.\add_AD_newEmployee.ps1 -FilePath "C:\nouveaux_employes.csv"Crée tous les employés à partir d'un fichier CSV.
Paramètres :
- Prenom : Prénom de l'employé à créer. (obligatoire en mode non interactif)
- Nom : Nom de l'employé à créer. (obligatoire en mode non interactif)
- Titre : Titre/Poste de l'employé à créer. (obligatoire en mode non interactif)
- Departement : Département de l'employé à créer. (obligatoire en mode non interactif)
- Manager : Login du manager de l'employé à créer. (facultatif)
- FilePath : Chemin vers un fichier CSV contenant les employés à créer. Le fichier doit avoir les colonnes: Prenom, Nom, Titre, Departement (Manager est facultatif). (facultatif)
- Auto : Si spécifié, le script fonctionne en mode interactif avec des prompts pour chaque paramètre. (facultatif)
Description : Ce script PowerShell permet de modifier diverses propriétés d'un utilisateur dans Active Directory, telles que le nom, l'adresse e-mail, le titre et le statut du compte.
Exemple d'utilisation :
.\modify_AD_user.ps1 -Login "jdoe" -Email "jdoe@example.com"Exécute le script pour modifier l'adresse e-mail de l'utilisateur avec le login spécifié.
Paramètres :
- Login : Le nom d'utilisateur (login) de l'utilisateur à modifier. (obligatoire)
- Email|Title|Description|Enable|City|Country|HomeDirectory|HomePhone|OfficePhone : La nouvelle valeur pour la propriété spécifiée (Email, Title, Description, Enable, City, Country, HomeDirectory, HomePhone, OfficePhone). (au moins une doit être spécifiée)
Description : Ce script PowerShell permet d'activer un/des utilisateur(s) spécifique(s) dans Active Directory en utilisant le nom d'utilisateur (Login).
Exemples d'utilisation :
.\enable_AD_user.ps1 -Login "jdoe"Exécute le script pour activer l'utilisateur avec le login spécifié.
.\enable_AD_user.ps1 -Login "jdoe, jsmith, mbrown"Exécute le script pour activer plusieurs utilisateurs dont les logins sont spécifiés, séparés par des virgules.
Paramètre :
- Login : Le nom d'utilisateur (login) de l'utilisateur à activer. (obligatoire)
Description : Ce script PowerShell permet de désactiver un/des utilisateur(s) spécifique(s) dans Active Directory en utilisant le nom d'utilisateur (login).
Exemples d'utilisation :
.\disable_AD_user.ps1 -Login "jdoe"Exécute le script pour désactiver l'utilisateur avec le login spécifié.
.\disable_AD_user.ps1 -Login "jdoe, jsmith, mbrown"Exécute le script pour désactiver plusieurs utilisateurs dont les logins sont spécifiés, séparés par des virgules.
Paramètre :
- Login : Le nom d'utilisateur (login) de l'utilisateur à désactiver. (obligatoire)
Description : Ce script PowerShell permet d'ajouter un ou plusieurs utilisateurs à un ou plusieurs groupes de sécurité spécifiques dans Active Directory en utilisant leurs noms d'utilisateur (logins). Il permet aussi d'ajouter les utilisateurs à des groupes à partir d'un fichier CSV. Il permet également d'ajouter les utilisateurs d'un groupe source à un groupe cible.
Exemples d'utilisation :
.\add_AD_users_to_group.ps1 -Login "jdoe" -Group "IT_Group"Exécute le script pour ajouter l'utilisateur avec le login spécifié au groupe spécifié
.\add_AD_users_to_group.ps1 -Login "jdoe, jsmith" -Group "IT_Group, HR_Group"Exécute le script pour ajouter plusieurs utilisateurs dont les logins sont spécifiés, séparés par des virgules, aux groupes spécifiés, séparés par des virgules.
.\add_AD_users_to_group.ps1 -FilePath "C:\users_to_add.csv" -Group "IT_Group"Exécute le script et ajoute les utilisateurs à partir d'un fichier CSV. Le fichier doit contenir au moins la colonne: Login (Group est facultatif si le paramètre Group est spécifié).
.\add_AD_users_to_group.ps1 -SourceGroup "Source_Group" -TargetGroup "New_Group"Exécute le script pour ajouter tous les utilisateurs du groupe source au groupe cible.
.\add_AD_users_to_group.ps1 -SourceGroup "Source_Group, Source_Group2" -TargetGroup "New_Group"Exécute le script pour ajouter tous les utilisateurs de plusieurs groupes source au groupe cible.
.\add_AD_users_to_group.ps1 -SourceGroup "Source_Group" -TargetGroup "New_Group1, New_Group2"Exécute le script pour ajouter tous les utilisateurs du groupe source à plusieurs groupes cibles
Paramètres :
- Login : Le nom d'utilisateur (login) de l'/des utilisateur(s) à ajouter aux groupes. (obligatoire si FilePath n'est pas spécifié)
- Group : Le(s) groupe(s) de sécurité auquel/auxquels ajouter l'/les utilisateur(s). (obligatoire si FilePath n'est pas spécifié, facultatif si les groupes sont spécifiés dans le fichier CSV)
- FilePath : Chemin vers un fichier CSV contenant les utilisateurs à ajouter aux groupes. Le fichier doit avoir au moins la colonne: Login (Group est facultatif si le paramètre Group est spécifié).
- SourceGroup : Le groupe source dont les utilisateurs seront ajoutés au groupe cible. (obligatoire si TargetGroup est spécifié)
- TargetGroup : Le groupe cible auquel les utilisateurs du groupe source seront ajoutés. (obligatoire si SourceGroup est spécifié)
Description : Ce script PowerShell permet de supprimer un utilisateur spécifique dans Active Directory en utilisant son nom d'utilisateur (login).
Exemples d'utilisation :
.\delete_AD_user.ps1 -Login "jdoe"Exécute le script pour supprimer l'utilisateur avec le login spécifié.
.\delete_AD_user.ps1 -Login "jdoe, jsmith, mbrown"Exécute le script pour supprimer plusieurs utilisateurs dont les logins sont spécifiés, séparés par des virgules.
Paramètre :
- Login : Le nom d'utilisateur (login) de l'utilisateur à supprimer. (obligatoire)
Description : Ce script PowerShell retire un employé d'Active Directory en désactivant son compte, en le déplaçant vers une OU pour les comptes inactifs, en réinitialisant son mot de passe et en ajoutant une note avec la date de désactivation. Toutes les actions sont journalisées et une confirmation est demandée avant de procéder.
Exemple d'utilisation :
.\remove_AD_employee.ps1 -Login "jdoe"Retire l'employé avec le login "jdoe" et enregistre les actions dans un fichier journal.
.\remove_AD_employee.ps1 -Login "jdoe" -LogFilePath "C:\Logs\AD_Removals.log"Retire l'employé et enregistre les actions dans le fichier journal spécifié.
Paramètres :
- Login : Le login de l'employé à retirer d'Active Directory. (obligatoire)
- LogFilePath : Le chemin du fichier journal où les actions seront enregistrées. (facultatif, par défaut: C:\logs\user_removal\prenom.nom_yyyyMMdd_HHmmss.log)
Description : Ce script PowerShell réactive un employé dans Active Directory en activant son compte, en le déplaçant vers une nouvelle unité organisationnelle (OU), en l'ajoutant à des groupes spécifiés et en réinitialisant son mot de passe. Il ajoute également une note avec la date de réactivation et logge toutes les actions.
Exemples d'utilisation :
.\reactivate_AD_employee.ps1 -Login "jdoe"Réactive l'employé avec le login "jdoe" en mode interactif.
.\reactivate_AD_employee.ps1 -Login "jdoe" -OU "Developpement" -Groupes "GRP_Developpement,GRP_Tous_Utilisateurs"Réactive l'employé directement avec les paramètres spécifiés.
Paramètres :
- Login : Le login de l'employé à réactiver dans Active Directory. (obligatoire)
- OU : Le nom de l'unité organisationnelle où déplacer l'utilisateur. (facultatif, demandé en mode interactif)
- Groupes : Les groupes à ajouter à l'utilisateur, séparés par des virgules. (facultatif, demandé en mode interactif)
- LogFilePath : Le chemin du fichier journal où les actions seront enregistrées. (facultatif, par défaut: C:\logs\user_reactivation)
Description : Ce script PowerShell réinitialise le mot de passe d'un utilisateur Active Directory en générant un nouveau mot de passe aléatoire sécurisé. Il force l'utilisateur à changer son mot de passe à la prochaine connexion et déverrouille le compte si nécessaire. Le nouveau mot de passe est affiché pour transmission sécurisée.
Exemples d'utilisation :
.\reset_AD_employeePassword.ps1 -Login "jdoe"Réinitialise le mot de passe de l'utilisateur "jdoe" et affiche le nouveau mot de passe.
.\reset_AD_employeePassword.ps1 -Login "jdoe" -LogFilePath "C:\Logs\password_reset.log"Réinitialise le mot de passe et enregistre l'action dans le fichier journal spécifié.
Paramètres :
- Login : Le login (SamAccountName) de l'employé dont réinitialiser le mot de passe. (obligatoire)
- LogFilePath : Le chemin du fichier journal où les actions seront enregistrées. (facultatif, par défaut: C:\logs\password_reset)
Description : Ce script PowerShell permet de créer de nouveaux groupes de sécurité dans Active Directory avec des propriétés spécifiées telles que le nom du groupe, la description, le type de groupe, la portée et les groupes desquels il est membre (domaine par défaut si non spécifié).
Exemples d'utilisation :
.\create_AD_group.ps1 -GroupName "IT_Support" -Description "Groupe de support informatique" -GroupScope "Global" -GroupCategory "Security" -MemberOf "OU=Service_IT,DC=example,DC=com"Exécute le script pour créer un nouveau groupe de sécurité avec les propriétés spécifiées.
.\create_AD_group.ps1 -FilePath "C:\groups.csv"Exécute le script et crée tous les groupes à partir d'un fichier CSV.
Paramètres :
- GroupName : Le nom du groupe de sécurité à créer. (obligatoire si FilePath n'est pas spécifié)
- Description : La description du groupe de sécurité. (facultatif)
- GroupScope : La portée du groupe de sécurité (DomainLocal, Global, Universal). (obligatoire si FilePath n'est pas spécifié)
- GroupCategory : Le type de groupe (Security ou Distribution). (obligatoire si FilePath n'est pas spécifié)
- MemberOf : Les groupes dont ce groupe sera membre. (facultatif, par défaut le groupe sera membre du domaine)
- FilePath : Chemin vers un fichier CSV contenant les groupes à créer. Le fichier doit avoir au moins les colonnes: GroupName, GroupScope, GroupCategory (Description et MemberOf sont facultatifs).
Description : Ce script PowerShell permet d'ajouter des groupes dans une Unité d'Organisation (OU) spécifique dans Active Directory.
Exemples d'utilisation :
.\add_AD_groups_in_OU.ps1 -GroupNames "IT_Support","IT_Admins" -OuName "Service_IT"Ajoute les groupes "IT_Support" et "IT_Admins" dans l'OU "Service_IT".
.\add_AD_groups_in_OU.ps1 -FilePath "C:\groups_to_add.csv"Ajoute tous les groupes à partir d'un fichier CSV. Le fichier doit avoir les colonnes: GroupName, OuName.
.\add_AD_groups_in_OU.ps1 -FilePath "C:\groups_to_add.csv" -OuName "Service_IT"Ajoute tous les groupes listés dans le fichier CSV dans l'OU spécifiée.
Paramètres :
- GroupNames : Le(s) nom(s) des groupes à ajouter. Pour plusieurs groupes, séparer les noms par des virgules. (obligatoire si FilePath n'est pas spécifié)
- OuName : Le nom de l'Unité d'Organisation (OU) dans laquelle ajouter les groupes. (obligatoire si FilePath n'est pas spécifié ou si le fichier ne contient pas la colonne OuName)
- FilePath : Chemin vers un fichier CSV contenant les groupes à ajouter. Le fichier doit avoir les colonnes: GroupName, OuName (si OuName n'est pas spécifié en paramètre). Le fichier peut aussi contenir uniquement la colonne GroupName si OuName est spécifié en paramètre. (facultatif)
Description : Ce script PowerShell permet d'ajouter un ou plusieurs groupes Active Directory en tant que membres d'un ou plusieurs autres groupes AD. Il prend en charge l'ajout de plusieurs groupes en une seule exécution.
Exemples d'utilisation :
.\add_AD_group_in_group.ps1 -MemberGroups "GroupeMembre1, GroupeMembre2" -TargetGroups "GroupeCible1, GroupeCible2"Ajoute "GroupeMembre1" et "GroupeMembre2" en tant que membres de "GroupeCible1" et "GroupeCible2".
.\add_AD_group_in_group.ps1 -FilePath "C:\groupes.csv"Ajoute les groupes listés dans le fichier "groupes.csv" en tant que membres des groupes cibles spécifiés dans le fichier. Colonnes obligatoires: MemberGroup, TargetGroup
.\add_AD_group_in_group.ps1 -FilePath "C:\groupes.csv" -TargetGroups "GroupeCible1, GroupeCible2"Ajoute les groupes listés dans le fichier en tant que membres de "GroupeCible1" et "GroupeCible2". Colonne obligatoire: MemberGroup uniquement.
Paramètres :
- MemberGroups : Le ou les groupes AD à ajouter en tant que membres. (obligatoire si FilePath n'est pas spécifié)
- TargetGroups : Le ou les groupes AD cibles auxquels les groupes membres seront ajoutés. (obligatoire si FilePath n'est pas spécifié)
- FilePath : Chemin vers un fichier CSV contenant les noms des groupes AD à ajouter en tant que membres. Colonnes obligatoires: MemberGroup, TargetGroup. Si les groupes cibles sont spécifiés via le paramètre TargetGroups, seule la colonne MemberGroup est requise. (facultatif)
Description : Ce script PowerShell permet de retirer un ou plusieurs membres (utilisateurs ou groupes) d'un groupe de sécurité dans Active Directory. Il peut retirer des utilisateurs individuels, des groupes, ou traiter un fichier CSV contenant plusieurs retraits. Le script supporte un mode interactif pour faciliter l'utilisation.
Exemples d'utilisation :
.\remove_AD_member_from_group.ps1 -SourceGroup "IT_Group" -Login "jdoe"Retire l'utilisateur "jdoe" du groupe "IT_Group".
.\remove_AD_member_from_group.ps1 -SourceGroup "IT_Group" -Login "jdoe,jsmith"Retire plusieurs utilisateurs du groupe "IT_Group".
.\remove_AD_member_from_group.ps1 -SourceGroup "IT_Group" -MemberGroup "HR_Group"Retire le groupe "HR_Group" du groupe "IT_Group".
.\remove_AD_member_from_group.ps1 -SourceGroup "IT_Group" -MemberGroup "HR_Group,Support_Group"Retire plusieurs groupes du groupe "IT_Group".
.\remove_AD_member_from_group.ps1 -FilePath "C:\members_to_remove.csv"Retire les membres listés dans le fichier CSV. Le fichier doit contenir les colonnes: SourceGroup, Login (facultatif), MemberGroup (facultatif).
.\remove_AD_member_from_group.ps1 -AutoMode interactif avec prompts pour chaque paramètre.
Paramètres :
- SourceGroup : Le nom du groupe duquel retirer les membres. (obligatoire si FilePath n'est pas spécifié)
- Login : Le(s) login(s) des utilisateurs à retirer du groupe, séparés par des virgules. (facultatif)
- MemberGroup : Le(s) nom(s) des groupes à retirer du groupe source, séparés par des virgules. (facultatif)
- FilePath : Chemin vers un fichier CSV contenant les membres à retirer. Le fichier doit avoir les colonnes: SourceGroup, Login (facultatif), MemberGroup (facultatif). Au moins une des colonnes Login ou MemberGroup doit être renseignée pour chaque ligne. (facultatif)
- Auto : Mode interactif avec prompts pour chaque paramètre. (facultatif)
- LogFilePath : Le chemin du fichier journal où les actions seront enregistrées. (facultatif, par défaut: C:\logs\member_removal)
Description : Ce script PowerShell permet de créer une nouvelle Unité d'Organisation (OU) dans Active Directory si elle n'existe pas déjà.
Exemples d'utilisation :
.\create_AD_OU.ps1 -OuName "Service_IT"Exécute le script pour créer une nouvelle OU avec le nom spécifié.
.\create_AD_OU.ps1 -OuName "Service_IT" -MemberOf "OU=Departments"Exécute le script pour créer une nouvelle OU avec le nom spécifié sous l'OU parente spécifiée.
.\create_AD_OU.ps1 -FilePath "C:\create_ou.csv"Exécute le script et crée toutes les OUs à partir d'un fichier CSV. Le fichier doit avoir les colonnes: OuName et MemberOf.
.\create_AD_OU.ps1 -FilePath "C:\create_ou.csv" -MemberOf "OU=Departments"Exécute le script et crée toutes les OUs listées dans le fichier CSV sous l'OU "Departments". Le fichier doit contenir uniquement la colonne: OuName.
Paramètres :
- FilePath : Chemin vers un fichier CSV contenant les OUs à créer. Le fichier doit avoir au moins la colonne: OuName (MemberOf est facultatif).
- OuName : Le nom de l'OU à créer. (obligatoire si FilePath n'est pas spécifié)
- MemberOf : L'OU parente sous laquelle l'OU sera créée. (facultatif, par défaut l'OU sera créée à la racine du domaine si non spécifié)
Description : Ce script PowerShell permet de déplacer un utilisateur existant vers une nouvelle Unité d'Organisation (OU) dans Active Directory.
Exemples d'utilisation :
.\modify_AD_user_OU.ps1 -Login "jdoe" -NewOU "Informatique"Exécute le script pour déplacer l'utilisateur avec le login spécifié vers la nouvelle OU spécifiée.
.\modify_AD_user_OU.ps1 -Login "jdoe, jsmith" -NewOU "Informatique"Exécute le script pour déplacer plusieurs utilisateurs dont les logins sont spécifiés, séparés par des virgules, vers la nouvelle OU spécifiée.
.\modify_AD_user_OU.ps1 -FilePath "C:\users_to_move.csv"Exécute le script et déplace les utilisateurs à partir d'un fichier CSV. Le fichier doit avoir les colonnes: Login et NewOU.
.\modify_AD_user_OU.ps1 -FilePath "C:\users_to_move.csv" -NewOU "Informatique"Exécute le script et déplace tous les utilisateurs listés dans le fichier CSV vers la nouvelle OU spécifiée. Le fichier doit contenir uniquement la colonne: Login.
Paramètres :
- Login : Le nom d'utilisateur (login) de l'utilisateur à déplacer. (obligatoire si FilePath n'est pas spécifié)
- NewOU : Le nom de la nouvelle Unité d'Organisation (OU) vers laquelle déplacer l'utilisateur. (obligatoire si FilePath n'est pas spécifié, falcultatif avec FilePath si les nouvelles OUs sont spécifiées dans le fichier CSV)
- FilePath : Chemin vers un fichier CSV contenant les utilisateurs à déplacer. Le fichier doit avoir la colonne: Login (NewOU est facultatif si le paramètre NewOU est spécifié).
Description : Ce script PowerShell génère un rapport HTML détaillé et complet incluant :
- Nombre total d'utilisateurs (actifs/désactivés)
- Nombre total de groupes et d'OUs
- Top 10 des groupes avec le plus de membres
- Liste des utilisateurs dont le mot de passe n'expire jamais
- Liste des utilisateurs avec des mots de passe expirés
- Statistiques détaillées par département
Le rapport est généré au format HTML avec mise en forme CSS professionnelle et peut être ouvert dans n'importe quel navigateur.
Exemples d'utilisation :
.\report_AD_complete.ps1Génère le rapport HTML complet et l'exporte vers le chemin par défaut (C:\Reports\report_AD_complete_YYYYMMDD_HHMMSS.html).
.\report_AD_complete.ps1 -ExportPath "C:\Reports\rapport_complet.html"Génère le rapport et l'exporte vers le fichier spécifié.
.\report_AD_complete.ps1 -NoExportAffiche uniquement le résumé dans la console sans exporter en HTML.
Paramètres :
- ExportPath : Chemin complet du fichier HTML d'export. (facultatif, par défaut: C:\Reports\report_AD_complete_YYYYMMDD_HHMMSS.html)
- NoExport : Si spécifié, n'exporte pas les résultats en HTML, affiche uniquement les résultats. (facultatif)
Contenu du rapport :
- Statistiques Globales : Compteurs des utilisateurs actifs/désactivés, groupes, OUs et départements
- Top 10 Groupes : Les 10 groupes avec le plus de membres
- Mots de passe n'expirant jamais : Liste des utilisateurs avec mots de passe non expirables (risque sécurité)
- Mots de passe expirés : Liste des utilisateurs devant changer leur mot de passe
- Statistiques par département : Répartition des utilisateurs actifs/désactivés par département
Ce projet est sous licence GPL-3.0 — voir le fichier LICENSE pour les détails.