데이터베이스와 Active Directory간에 데이터를 정리해야합니다. 전체 아키텍처를 더 간단하게 만들기 위해 데이터베이스에서 그룹 및 구성원 목록을 가지고 있다고 가정 해 보겠습니다.그룹에서 사용자 목록 제거 특정 항목에 대해 자동으로 실패 함
광고에도 그룹이 있지만이 그룹의 구성원 자격을 데이터베이스의 정리와 동일하게 정리해야합니다.
내 데이터베이스의 구성원 목록을 내 AD 그룹의 구성원 목록과 비교 한 다음 차등을 만들어 AD 그룹에서 제거해야하는 계정과 어떤 계정을 제거해야 하는지를 알 수 있습니다 그룹에 추가해야합니다.
내 전체 환경에있는 사용자의 볼륨이 상당히 커서 대기 시간 문제가 발생할 수 있습니다. 차동의 치료 기간 동안, 스크립트가 오류로 인해 실패 :
Microsoft.ActiveDirectory.Management.ADException : The specified account name is not a member of the group
는 스크립트의 지속 시간에, 일부 작업은 AD 데이터베이스에 계속 실행 것으로 나타났다 디버깅 후, 및 멤버를 제거 그 차이가 확립 된 후 해당 그룹에서 스크립트를 실행하여 오류를 일으키는 그룹 구성원을 다시 제거하려고합니다. 사용자의 양 때문에 차등과 치료 종료 사이의 시간은 수 시간이 걸릴 수 있습니다.
명령이 다음과 같이 서식이 지정되면이 항목과이 항목에 대해서만 자동으로 실패하고 사용자 목록을 계속 처리 할 수 있습니까? 처리 시간이 기하 급수적으로 더 높을 것이기 때문에
Remove-ADGroupMember -Identity $group -Member $users -Server $ADServer -Credential $creds -Confirm:$false
우리는 현실적으로 차이를 업데이트 할 각 작업 사이에 그룹의 구성원을 확인할 수 없습니다.
또한 관련 질문은 계정에 광고가 더 이상 존재하지 않을 때 침묵하는 실패한 작업입니까?
이것이 나의 가장 큰 문제에 대한 해답이지만 성능에 대해서는 잘 모르겠습니다. 70k 그룹에서 300,000 명이 넘는 사용자가 있습니다. 지금 사용하고있는 일괄 처리 명령과 솔루션의 시간차에 대해 알고 계십니까? 나는 작업 당 하나의 명령을 보내는 것이 상당히 느릴 것이라고 상상한다. 현재 스크립트는 실행하는 데 최대 4 일이 걸렸으므로 스크립트를 실행하지 않고 벤치마킹 할 수있는 정보를 제공 할 수 있다면 매우 감사 할 것입니다 (특히 수정 후 몇 주 동안 실행하는 경우) . –
기본적으로 두 가지 옵션이 있습니다. a) 멤버가 있는지 확인한 다음 한 번의 호출로 멤버를 제거하거나 b) 오류를 무시하면서 한 번에 한 멤버를 제거합니다. 골라보세요. –
부록 : 변경 목록을 DC로 보내고 모든 명령을 원격으로 호출하는 대신 로컬로 명령을 실행하여 성능을 향상시킬 수 있습니다. –