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>"}

  • 효과적으로 모든 사용자

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

을 제거하는 그룹의 Members 속성을 지 웁니다 프로젝트에 대한 설정했던 그룹을 찾습니다
관련 문제