사용자가 갑자기 리소스에 대한 접근 권한을 잃었는데, 알고 보니 그룹에서 제거되었지만 언제 어떻게 제거되었는지 기록이 전혀 없는 경우를 경험해보셨나요? Active Directory(AD)에서 삭제된 그룹 멤버십을 추적하는 것은 감사 기능이 활성화되어 있지 않거나 로그에 어떤 사용자가 제거되었는지 기록되지 않을 경우 특히 어려울 수 있습니다. 누군가 보안 그룹에서 여러 멤버십을 삭제하더라도, Active Directory 휴지통은 삭제된 개체만 보관하며 어떤 계정이 그룹에서 제거되었는지에 대한 세부 정보는 보관하지 않으므로 도움이 되지 않습니다.
삭제된 사용자 멤버십 목록을 얻으려면 그룹의 개체 메타데이터에서 찾아봐야 합니다. 두 가지 방법이 있습니다:
repadmin 개체 메타데이터 사용:
repadmin /showobjtmeta * <그룹의 DN> 명령을 실행할 수 있습니다. 예를 들어: repadmin /showobjtmeta * "CN=Test Group,OU=Users,OU=Test OU,OU=Contoso,DC=Contoso,DC=com" > TestGroup.txt
이렇게 하면 모든 개체의 메타데이터를 얻을 수 있으며, 여기서 "Member" 속성을 확인할 수 있습니다:
“Present” 아래에 있는 항목들은 여전히 그룹의 구성원인 사용자이고, “Absent” 아래에 있는 항목들은 제거된 사용자입니다.
PowerShell에서 Get-ADReplicationAttributeMetadata 명령 사용:
PowerShell에서 Get-ADReplicationAttributeMetadata 명령을 다음 매개변수와 함께 사용하여 "LastOriginating-DeleteTime" 값을 모두 얻을 수 있습니다. 이 값은 삭제 날짜와 시간을 기준으로 모든 삭제된 사용자를 보여줄 것입니다.
get-ADReplicationAttributeMetadata '그룹의 DN' -Server <마지막_변경이_감지된_서버> -ShowAllLinkedValues | Select-Object LastOriginatingDeleteTime, attributevalue
그룹 멤버십을 검토할 때, 유효한 날짜의 존재는 해당 사용자가 그룹에서 삭제되었음을 나타냅니다. 예를 들어, Test-Deletion 계정은 실제 삭제 날짜를 보여주며 제거되었음을 확인시켜 줍니다. 대조적으로, 메타데이터가 12/31/1600과 같이 불가능한 값을 표시한다면, 이는 삭제 날짜가 존재하지 않음을 의미합니다. 이는 Test User 계정의 경우와 같으며, 불가능한 날짜를 보여주어 해당 사용자가 여전히 그룹에 속해 있으며 제거되지 않았음을 나타냅니다.