Dans le cadre d’un audit AD pour un de mes clients, j’ai été amené à lister tous les groupes AD « Vides » de plusieurs forêts Active Directory. Pour ce faire, j’ai créé quelques « Simples » scripts PS (basés sur le module PS ActiveDirectory) permettant de réaliser cette opération, et j’ai donc décidé de les partager avec vous :).
How it Works ?
# Lister tous les groupes AD « Vides » !
Import-Module ActiveDirectory
Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name
# Nombre de groupe AD « Vides » !
Import-Module ActiveDirectory
$GroupesAD_Vides = Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name
$GroupesAD_Vides.Count
# Exporter tous les groupes AD « Vides » !
Import-Module ActiveDirectory
$GroupesAD_Vides = Get-ADGroup -Filter * -Properties Members | where {-not $_.members} | select Name | Export-Csv D:\Liste_Groupes_AD.csv –NoTypeInformation
Astuce !
Si vous souhaitez lister tous les groupes AD « Vides » d’une OU (Organizational Unit) spécifique, il suffit de rajouter le paramètre -SearchBase suivi du DN (DistinguishedName de l’OU), dans l’exemple suivant, la recherche se fera au niveau de la sous-OU « Production » situé au niveau de hklab.lan/France/Paris/Servers/
Import-Module activedirectory
Get-ADGroup -Filter * -Properties Members -SearchBase “OU=Production,OU=Servers,OU=Paris,OU=France,DC=hklab,DC=lan » | where {-not $_.members} | select Name