PowerShell查找所有没有成员或计算机对象的空AD安全组

PowerShell查找所有没有成员或计算机对象的空AD安全组,powershell,csv,active-directory,Powershell,Csv,Active Directory,我当前正在运行此脚本: Get-ADGroup-Filter{GroupCategory-eq'Security'}|?{@(Get-ADGroupMember$|).Length-eq 0}|导出Csv-Path“C:\Users\177626\EmptySG.Csv” 从技术上讲,它是通过拉取所有没有成员的安全组来工作的,但它仍然拉取在成员列表中有计算机对象的组。是否需要修改此选项以过滤掉包含这些计算机对象的组 谢谢 您可以告诉Get ADGroup提供的不仅仅是默认属性。其中之一是“成员”

我当前正在运行此脚本:

Get-ADGroup-Filter{GroupCategory-eq'Security'}|?{@(Get-ADGroupMember$|).Length-eq 0}|导出Csv-Path“C:\Users\177626\EmptySG.Csv”

从技术上讲,它是通过拉取所有没有成员的安全组来工作的,但它仍然拉取在成员列表中有计算机对象的组。是否需要修改此选项以过滤掉包含这些计算机对象的组


谢谢

您可以告诉
Get ADGroup
提供的不仅仅是默认属性。其中之一是“成员”。您可以使用属性
.count
确定组是否为空

Get-ADGroup -Filter "GroupCategory -eq 'Security'" -Properties Members |
    Where-Object {$_.Members.count -eq 0}

嗨,奥拉夫,谢谢你的回复。不幸的是,这仍然在拉一些安全组与计算机对象的成员名单我不知道该说什么。我刚刚测试了它,在我的环境中,安全组中包含的计算机帐户与普通用户帐户一样被计算在内。所以我发布的代码对我来说就像预期的一样。您确定我们讨论的是“Members”属性而不是“MemberOf”属性吗?