J'ai récemment fait un article sur comment récupérer tous les utilisateurs stockés dans vos groupes AD en utilisant un script PowerShell.
J'ai fait évoluer ce script pour lister également les ordinateurs et les groupes imbriqués. Un fichier de sorti est toujours généré suite à l'exécution du script est ce dernier sera du type :
Le script utilise les commandes PowerShell suivantes :
- Get-ADGroup : Avec le paramètre "-Filter *", cette commande permet de récupérer les groupes AD. Cette commande (sans l'option -Filter *) permet également de récupérer les groupes imbriqués dans un autre groupe
- Get-ADGroupMember : Permet de récupérer les membres d'un groupe AD
- Get-ADUser : Avec le paramètre "-Properties Enabled", cette commande permet de récupérer l'état du compte (actif ou désactivé).
- Get-ADComputer : Permet de récupérer les objets ordinateurs
J'ai ensuite utilisé des foreach afin de boucler sur les groupes, les ordinateurs et les comptes utilisateurs. J'utilise également des conditions if/else afin de pouvoir filtrer et loguer (si c'est un compte utilisateur, s'il est actif ou non, si c'est un compte ordinateur ou un groupe).
La liste des paramètres à fournir au script :
- LogFilePath : Chemin du fichier de log qui sera généré par le script. Attention, ce chemin doit finir par un "\".
Un exemple d'exécution du script : .\AD_Get-ADObjectsByGroup.ps1 -LogFilePath "D:\Logs\"
Pour télécharger le script : C'est par ici