【问题标题】:Remove users from AD group if they do not exist in CSV如果 CSV 中不存在用户,则将其从 AD 组中删除
【发布时间】:2017-01-04 11:23:08
【问题描述】:

我有一个任务,我们有一个包含用户的 .csv 文件。 CSV 的内容应与 AD 安全组进行比较。 CSV 中的任何用户都需要从 AD 组中删除。

过去,我从 CSV 文件中列出的组中添加/删除了用户,但不知道如果他们不在 CSV 中如何删除。

我是否必须使用一个脚本将组的成员转储到一个文件中,将该文件与 CSV 进行比较,然后创建一个组中但不在 CSV 中的用户文件,然后将其用作删除用户的来源?

【问题讨论】:

    标签: powershell active-directory


    【解决方案1】:

    从 CSV 中的相关用户属性(例如,专有名称)创建一个列表。使用带有-notcontains 运算符的Where-Object 过滤器获取此列表中不存在的组成员。然后从组中删除这些成员。

    例子:

    $validUsers   = Import-Csv 'C:\path\to\your.csv' | Select-Object -Expand dn
    
    $invalidUsers = Get-ADGroupMember 'groupname' |
                    Where-Object { $validUsers -notcontains $_.distinguishedName }
    
    Remove-ADGroupMember 'groupname' $invalidUsers -WhatIf
    

    删除-WhatIf 开关以实际删除组成员,而不是进行试运行。

    【讨论】:

      猜你喜欢
      • 2021-07-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-13
      • 1970-01-01
      • 2017-12-12
      • 1970-01-01
      • 2013-10-25
      相关资源
      最近更新 更多