Respuestas:
Para la posteridad, dsquery está diseñado para este tipo de búsqueda. AD mantiene un campo 'whenCreated', lo que facilita la búsqueda con su herramienta de elección.
dsquery * -filter "(whenCreated> = 20101022083730.0Z)"
Como ejemplo. Puede crear programáticamente la cadena de tiempo basándose en ahora: 90 días.
Pruebe lo siguiente para atraer usuarios creados en los últimos 30 días.
Get-ADUser -Filter * -Properties whenCreated | Where-Object {$_.whenCreated -ge ((Get-Date).AddDays(-30)).Date}
Una alternativa a la versión Powershell que se muestra arriba, que es mucho más eficiente porque no carga a todos los usuarios en la memoria antes de filtrarlos (debe hacer el filtro en el cmdlet Get-ADUser directamente y no usar un Where-Object):
$now = ((Get-Date).AddDays(-90)).Date
Get-ADUser -Filter {whenCreated -ge $now}
Usando PowerShell y las herramientas Quest ActiveRoles para AD (que se encuentra aquí: http://www.quest.com/powershell/activeroles-server.aspx ),
Get-QADUser -CreatedAfter (Get-Date).AddDays(-90)
le dará salida a la consola o donde sea que redirija a todos los usuarios creados en los últimos 90 días.
Aquí hay un ejemplo de otro sitio de alguien que recupera todas las cuentas de AD ordenadas por fecha de creación:
http://www.experts-exchange.com/Security/Operating_Systems_Security/Windows/Q_21117191.html
Puede obtener la fecha de creación de cada cuenta desde Active Directory. Cada objeto AD tiene un atributo WhenCreated y WhenChanged. Puede volcar estos atributos en un archivo plano usando la utilidad LDIFDE, o puede volcarlos en un archivo delimitado por comas usando CSVDE (ambas utilidades vienen con Windows 2000).
Aquí está la sintaxis para volcar los dos atributos para los objetos de usuario en una unidad organizativa llamada Phoenix en un dominio llamado Company.com a la consola para su visualización (toda la entrada debe escribirse como una sola línea):
ldifde -d ou = phoenix, dc = empresa, dc = com -l cuando se crea, cuando se cambia -p onelevel -r "(ObjectCategory = user)" -f con
Si desea guardar el volcado en un archivo, cambie el modificador -f de con a un nombre de archivo.
La última marca de tiempo de inicio de sesión utiliza este formato: AAAAMMDDHHMMSS, con la hora mostrada en Hora Universal Coordinada. Una marca de tiempo de 20040115182937.0Z corresponde al 15 de enero de 2004 18:29:37 UCT.
USRSTAT es lento y el informe que obtiene debe fusionarse con el volcado de LDIFDE. Entonces, armé un script que busca objetos de usuario en cada controlador de dominio, luego enumera la hora de inicio de sesión local y la hora de creación. La marca de tiempo de inicio de sesión del usuario requiere la conversión de un entero largo. Tomé prestado el código de conversión que proviene de Richard L. Mueller (www.rlmueller.net/Programs). El guión completo de Richard también toma la zona horaria local del Registro y convierte la hora de UCT a hora local. Hábil
En realidad, todas estas respuestas no van a funcionar para entornos de AD de gran producción.
La respuesta es usar DirSync: https://support.microsoft.com/en-us/help/891995/how-to-poll-for-object-attribute-changes-in-active-directory-on-window
Aquí hay una implementación de Java de esto: https://docs.ldap.com/ldap-sdk/docs/javadoc/com/unboundid/ldap/sdk/experimental/ActiveDirectoryDirSyncControl.html
Básicamente, solicita continuamente a AD los cambios basados en un token incremental.
"(&(objectClass=user)(whenCreated>=20101022083730.0Z))"
para filtrar computadoras y otros objetos.