답변:
후손을 위해 dsquery는 이러한 종류의 검색을 위해 설계되었습니다. AD는 '만들기'필드를 유지하므로 선택한 도구로 쉽게 검색 할 수 있습니다.
dsquery * -filter "(작성시> = 20101022083730.0Z)"
예로서. 지금부터 90 일을 기준으로 프로그래밍 방식으로 시간 문자열을 만들 수 있습니다.
지난 30 일 동안 생성 된 사용자를 끌어 오려면 다음을 시도하십시오.
Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date}
AD에 대한 PowerShell 및 퀘스트의 ActiveRoles 도구를 사용하여 (여기 - http://www.quest.com/powershell/activeroles-server.aspx를 )
Get-QADUser -CreatedAfter (Get-Date).AddDays(-90)
콘솔로 출력하거나 지난 90 일 동안 생성 된 모든 사용자를 리디렉션 할 때마다 출력합니다.
다음은 생성 날짜별로 정렬 된 모든 AD 계정을 검색하는 다른 사이트의 예입니다.
http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html
Active Directory에서 각 계정의 생성 날짜를 얻을 수 있습니다. 모든 AD 개체에는 WhenCreated 및 WhenChanged 특성이 있습니다. LDIFDE 유틸리티를 사용하여 이러한 속성을 플랫 파일로 덤프하거나 CSVDE를 사용하여 쉼표로 구분 된 파일로 덤프 할 수 있습니다 (두 유틸리티 모두 Windows 2000과 함께 제공됨).
Company.com이라는 도메인에있는 Phoenix라는 OU의 사용자 개체에 대한 두 가지 특성을보기 위해 콘솔에 덤프하는 구문은 다음과 같습니다 (전체 항목을 한 줄로 입력해야 함).
ldifde -d ou = phoenix, dc = company, dc = com -l 작성시, 변경시 -p onelevel -r "(ObjectCategory = user)"-f con
덤프를 파일로 저장하려면 -f 스위치를 con에서 파일 이름으로 변경하십시오.
마지막 로그온 타임 스탬프는 YYYYMMDDHHMMSS 형식을 사용하며 시간은 세계 표준시로 표시됩니다. 20040115182937.0Z의 타임 스탬프는 2004 년 1 월 15 일 18:29:37 UCT에 해당합니다.
USRSTAT가 느리고 사용자가 얻는 보고서를 LDIFDE 덤프와 병합해야합니다. 따라서 각 도메인 컨트롤러에서 사용자 개체를 검색 한 다음 로컬 로그온 시간과 생성 시간을 나열하는 스크립트를 작성했습니다. 사용자 로그온 타임 스탬프는 긴 정수에서 변환해야합니다. 전환 코드는 Richard L. Mueller (www.rlmueller.net/Programs)에서 가져 왔습니다. Richard의 전체 스크립트는 레지스트리에서 현지 시간대를 사용하여 시간을 UCT에서 현지 시간으로 변환합니다. 맵시 있는
실제로 이러한 모든 답변은 거대한 프로덕션 AD 환경에서 작동하지 않습니다.
대답은 DirSync를 사용하는 것입니다 : https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window
여기에 자바 구현이 있습니다 : https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html
기본적으로 증분 토큰을 기반으로 변경 사항을 AD에 지속적으로 요청합니다.
"(&(objectClass=user)(whenCreated>=20101022083730.0Z))"
컴퓨터 및 기타 개체를 필터링하는 데 사용할 수 있습니다.