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}