[Active Directory Tip] HowTo : Lister tous les groupes AD « Vides »

Publié: 09/11/2017 dans Active Directory
Tags:, , , , , , ,

 

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

 

Publicités
commentaires
  1. Matthieu dit :

    Bonjour,
    Pour la liste des groupes vides, il n’est pas nécessaire de faire le select ni de passer par une variable :
    (Get-ADGroup -Filter * -Properties Members | where {-not $_.members}).Count

    • Hicham KADIRI dit :

      @Matthieu
      Merci pour ton comment :).
      Effectivement, cela peut se faire en by passant le select et le use de la Var.
      Comme souligné dans le début du post, c’est un partage d’un bout de code d’un de mes scripts d’audit AD.
      Et qui dit script = dit variable, s’il s’agit d’une commande OneShot, je suis d’accord avec toi, quand tu développe des scripts (quelque soit le rôle WS /le service /la fonction), le passage par les variables est un « Must » (selon moi:)).
      L’idée ici est de pousser les lecteurs à penser $Var.
      En ce qui concerne le « Select Name », ce n’est pas fait par hasard :), je ne sais pas si tu as eu l’occasion d’auditer des groupes AD avec des DN contenant des « é », « è » … des erreurs sont retournés et le « Count » ne se fait pas correctement, voir l’action fini par s’arrêter, en sélectionnant le « Select Name », cela permet de collecter & retourner que le Nom du groupe et permet d’éviter ce type d’erreur.
      Donc l’idée ici aussi était de fournir la commande qui va bien et qui retournera toujours un résultat, si bien évidemment de groupes AD vides sont trouvés.
      Merci encore pour ton feedback ^^
      ++
      HK.

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l'aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s