0

我已经创建了一个应该从特定AD组中删除列表中的成员的短片段。使用Powershell从AD组中删除用户

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

问题是该列表包含很多旧的不存在的用户。只要脚本遇到无效用户,它就会停止。有没有什么办法可以让PS忽略它不能找到的用户?

回答

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在这个话题上是一个很好的帖子。

+0

这似乎工作!我会确保阅读这个话题。谢谢 – stayg

2

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

  • 查找我,是建立一个项目

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

  • 清除组的Members财产有效地消除所有的用户

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