【问题标题】:PowerShell to find all empty AD Security Groups with no Members OR Computer ObjectsPowerShell 查找所有没有成员或计算机对象的空 AD 安全组
【发布时间】:2020-01-02 19:35:38
【问题描述】:

我目前正在运行这个脚本:

Get-ADGroup -Filter {GroupCategory -eq 'Security'} | ?{@(Get-ADGroupMember $_).Length -eq 0} | Export-Csv -Path "C:\Users\177626\EmptySG.csv"

从技术上讲,它通过拉取所有没有成员的安全组来工作,但它仍在拉取在成员列表中具有计算机对象的组。无论如何要修改它以过滤掉那些包含这些计算机对象的组?

谢谢!

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

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

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

    【讨论】:

    • 您好奥拉夫,感谢您的回复。不幸的是,这仍然会在成员列表中引入一些具有计算机对象的安全组
    • 我不知道该说什么。我刚刚对其进行了测试,并且在我的环境中,安全组中包含的计算机帐户与普通用户帐户一样被计算在内。所以我发布的代码对我来说就像预期的那样工作。您确定我们讨论的是“Members”属性而不是“MemberOf”属性吗?
    猜你喜欢
    • 1970-01-01
    • 2021-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-12
    相关资源
    最近更新 更多