我创建了一个简短的代码段,可以从特定的AD组中删除列表中的成员。
Remove-QADGroupMember -Identity "usergroup" -Member (Get-Content "C:\Users\blabla\users.txt")
问题是该列表包含很多旧的不存在的用户。一旦脚本命中无效用户,它就会停止。有没有办法让PS忽略用户在没有太复杂的情况下找不到的用户?
答案 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是关于此主题的好帖子。