【问题标题】:Export AD members from specific AD groups从特定 AD 组导出 AD 成员
【发布时间】:2022-01-14 08:58:59
【问题描述】:

我想从大约 600 个以特定字符串结尾的 AD 组中检索 SamAccountName。

例如:

AD Groups:
AAA-BBB-XXX
CCC-DDD-XXX
EEE-FFF-XXX

现在我想获取所有以 XXX 结尾的 AD 组的 SamAccountName,但还要获取 SamAccountName 和 AD-group 之间的关系,以便我知道它们属于哪个 AD 组。所以:

SamAccountName | AD GROUP
------------------------------
Bernie.Sanders | AAA-BBB-XXX
Donald.Trump  | AAA-BBB-XXX
Barack.Obama  | AAA-BBB-XXX
Joe.Biden     | CCC-DDD-XXX

我已使用 -like 和 -filter 运算符将所有 XXX AD 组导出到 .csv。 我已经使用 Get-ADGroupMember 和 -identity 运算符管理了所有 SamAccountName 的导出。

但是,由于我是 PS 新手,我(还)无法创建上述列表。我正在寻找一些“在哪里”声明并需要一些指导。

谢谢

【问题讨论】:

    标签: powershell


    【解决方案1】:

    为此,您可以使用calculated propertySelect-Object 将“AD 组成员”与“AD 组名称”结合起来。为了过滤符合您的条件的组,在这种情况下,以 XXX 结尾您可以使用来自 Get-ADGroup cmdlet 的 -LDAPFilter-Filter

    $filter = "(samAccountName=*XXX)" # => Ends with XXX
    
    $result = foreach($group in Get-ADGroup -LDAPFilter $filter)
    {
       # Here all groups ending with XXX are being enumerated
    
       Get-ADGroupMember $group | Select-Object @{
          Name = 'ADGroup'
          Expression = { $group.samAccountName }
       }, samAccountName, ObjectClass
    }
    
    $result | Export-Csv .... 
    

    请注意,AD 组 可以有不仅仅是用户的成员,如果您想要他们的类是“用户”的组成员,您可以添加 @987654329 @ 或.Where() 方法:

    Get-ADGroupMember $group |
        Where-Object { $_.ObjectClass -eq 'user' } |
        Select-Object ....
    
    (Get-ADGroupMember $group).Where({
        $_.ObjectClass -eq 'user'
    }) | Select-Object ....
    

    【讨论】:

    • 非常感谢。有用。我不需要使用 Where 因为我可以删除 Excel 中的那些非用户条目。但是,这部分让我很困惑: $filter = "(samAccountName=*XXX)" 尽管我得到了想要的结果,但看起来过滤器是放在 samAccountName 而不是 AD 组本身。
    • @David 很高兴,很乐意为您提供帮助。那里的 LDAP 过滤器意味着 “过滤所有 samAccountName 以 XXX 结尾的 AD 组”,您可以这样阅读。
    • 嗨!好的 - 所以 samAccountName 既可以是用户对象 (joe.biden) 也可以是 AD 组的名称。谢谢
    • @David 所有 AD 对象都有 sAMAccountName 属性 afaik
    猜你喜欢
    • 2021-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多