使用Powershell从AD组中删除用户

时间:2014-01-28 12:39:31

标签: windows powershell active-directory system-administration

我创建了一个简短的代码段,可以从特定的AD组中删除列表中的成员。

Remove-QADGroupMember -Identity "usergroup" -Member (Get-Content "C:\Users\blabla\users.txt")

问题是该列表包含很多旧的不存在的用户。一旦脚本命中无效用户,它就会停止。有没有办法让PS忽略用户在没有太复杂的情况下找不到的用户?

2 个答案:

答案 0 :(得分:2)

这就是我这样做的原因,因为我需要为一堆组而不是用户列表删除所有用户。

  • 查找为项目设置的组

    $OldGroups = Get-ADGroup -filter {Name -like "<*ProjectName>"}

  • 清除群组的 Members 属性,有效删除所有用户

    $OldGroups | foreach {Set-ADGroup $_ -Clear Member}

答案 1 :(得分:1)

您可以在Powershell中使用try / catch。它看起来像:

Get-Content "C:\Users\blabla\users.txt" | foreach {
    Try {
        Remove-QADGroupMember -Identity "usergroup" -Member $_
    }
    Catch [System.Exception] {
        "$_ isn't exit"
    }
}

我没有运行代码。你可以对它做一些调整。

http://blogs.technet.com/b/heyscriptingguy/archive/2010/03/11/hey-scripting-guy-march-11-2010.aspx是关于此主题的好帖子。