Obtenez tous les groupes vides dans Active Directory
Je suis coincé à essayer de comprendre comment obtenir tous les groupes Active Directory qui sont vides. Je suis venu avec cette commande, qui permet de sélectionner les groupes qui n'ont pas de Membres et ne sont pas un attribut MemberOf quoi que ce soit.
Get-QADGroup -GroupType Security -SizeLimit 0 | where-object {$_.Members.Count -eq 0 -and $_.MemberOf.Count -eq 0} | select GroupName, ParentContainer | Export-Csv c:\emptygroups.csv
C'est la plupart du temps correct, mais cela dit certains groupes, comme le groupe par défaut de Domaine des Ordinateurs est vide, mais il n'est pas vide. Ce groupe a uniquement les membres qui sont des ordinateurs, mais il semble que d'autres groupes qui n'ont que des ordinateurs ne sont pas sélectionnées.
Personne ne sait pourquoi cette commande de traction dans certains des membres?
OriginalL'auteur Kirk | 2012-08-13
Vous devez vous connecter pour publier un commentaire.
La
Get-QADGroup
applet de commande a un paramètre-Empty
. La description à l'aide d'indices sur la raison de ces groupes par défaut sont retournés:Je ne suis pas vraiment familier avec la recherche de trucs, mais j'ai été en mesure de trouver des groupes vides de cette façon, (probablement pas le plus efficace):
Get-ADGroupMember
est qu'il erreurs avec La limite de taille pour cette demande a été dépassé sur les grands groupes et semble renvoyer ceux qui n'ont aucun membres. Par exemple, les Utilisateurs de Domaine qui a près de 15 000 membres. Aucune idée sur qui?En effet, j'ai essayé sur un test de contrôleur de domaine avec très peu d'utilisateurs et une sorte de suspicion de quelque chose va mal dans un environnement réel. Comme votre réponse ultérieure, il ressemble à
Get-QADGroupMember
est la façon de le faire. Je suggérerais de réglage-SizeLimit 1
(probablement envie-WarningAction SilentlyContinue
) pour laGet-QADGroupMember
les appels depuis une seule est nécessaire pour déterminer si elle est vide ou pas.Bonne suggestion avec
-SizeLimit 1
.OriginalL'auteur badgerious
Cette ligne fera (utiliser
Import-Module ActiveDirectory
première):OriginalL'auteur Massimo
Cette version permettra d'afficher uniquement les groupcategory et SAMaccountname. Le nom pourrait également être utilisé à la place de samaccountname. Le groupcategory va vous montrer si ses un groupe de sécurité ou un DL.
OriginalL'auteur gizzle
En fait ça sera une perte plus rapide dans des environnements avec plusieurs domaines, le grand nombre de groupes (et un grand nombre d'utilisateurs) pour exécuter un script.
Remarque: vous aurez besoin d'avoir PowerShell module Active directory chargé (import-module activedirectory)
OriginalL'auteur Catalin Pulbere
Été en mesure d'obtenir les valeurs correctement par la tuyauterie dans
Get-QADGroupMember
et d'obtenir le nombre de Membres et MemberOf qui pourrait ensuite être filtrée. Cela semble terriblement inefficace, mais il sert à obtenir les chiffres nécessaires.Si quelqu'un a une meilleure façon de le faire, ne le dis.
OriginalL'auteur Kirk