Analiza la información de tu Directorio Activo con AdFind

Joe Richards, MVP de Microsoft, tiene un interesante recopilatorio de utilidades gratuitas conocidas como "joeware" que seguro harán las delicias de cualquier administrador de Windows. Concretamente hoy vemos AdFind, una herramienta de consulta del Directorio Activo que es una mezcla de ldapsearch, search.vbs, ldp, dsquery y dsget además de incluir otras utilidades adicionales. Veréis con los ejemplo como es posible desgranar por completo la información de un dominio...

Aquí encontraras el uso de AdFind y ejemplos.


Añade los siguientes parámetros con el nombre de host/IP del controlador de dominio y las credenciales del usuario de dominio si realizas las consultas desde una máquina fuera de dominio:

AdFind -h direccion_ip -u "usuario@dominio.inet" -up password

Consulta la versión del esquema

AdFind -schema -s base objectVersion

Consulta wellKnownObjects

AdFind -default -s base wellknownObjects

Lista los objetos borrados

AdFind -default -rb "CN=Deleted Objects" -showdel

Lista los objetos en conflicto

AdFind -b -gc -f "(Name=*\0ACNF:*)" -dn

Obtiene todos los atributos

AdFind.exe -schema -f “objectClass=attributeSchema” cn lDAPDisplayName -nodn -csv >Attributes.txt

Obtiene todas las Classes

AdFind.exe -schema -f “objectclass=classSchema” cn lDAPDisplayName -nodn -csv >Classes.txt

Encuentra el nivel funcional del Dominio (por ejemplo Domain=Contoso.com)

AdFind -s Base -b "DC=Contoso,DC=com" msDS-Behavior-Version

Lista subredes

AdFind -subnets -f (objectCategory=subnet)

Lista sufijos UPN

AdFind -partitions -s base uPNSuffixes

Lista la política de contraseñas

AdFind -default -s base lockoutduration lockoutthreshold lockoutobservationwindow maxpwdage minpwdage minpwdlength pwdhistorylength pwdproperties

Comprueba el tiempo de vida de Tombstone

AdFind -config -f objectclass=ntdsservice tombstoneLifetime

Consulta el DA para todos los Grupos y Usuarios que tienen el adminCount = 1 (adminSDholder)

AdFind -default -f "(&(|(&(objectCategory=person)(objectClass=user))(objectCategory=group))(adminCount=1))" -dn

Lista todos los objetos en una OU (por ejemplo OU=NewYork, Domain=Contoso.com)

AdFind -b "OU=NewYork,DC=Contoso,DC=com" -s one -dn

Lista todas las OUs en un Dominio

AdFind -default -f "objectcategory=organizationalUnit" -dn

Encuentra las cuentas desactivadas

AdFind -default -bit -f userAccountControl:AND:=2

O

AdFind -s subtree -b DC=Contoso,DC=com -f userAccountControl:1.2.840.113556.1.4.803:=2 -dn

Lista los Usuarios con la contraseña expirada

AdFind -s subtree -b ,DC=Contoso,DC=com -f userAccountControl:1.2.840.113556.1.4.803:=8388608 -dn

Lista el Display Name de los usuarios del dominio

AdFind -b DC=Contoso,DC=com -f "objectcategory=person" displayName -sl

Encuentra el SID History de un usuario (por ejemplo User=Ed.Price)

AdFind -default -f name=Ed.Price sIDHistory

Lista los Usuarios a los que se le permite Dial-in en la OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind.exe -b "OU=IT,DC=Contoso,DC=com" -f "(&(objectCategory=person)(objectClass=user)(msNPAllowDialin=TRUE))" distinguishedName sAMAccountName
 
Lista los Usuarios a los que NO se le permite Dial-in en la OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind.exe -b "OU=IT,DC=Contoso,DC=com" -f "(&(objectCategory=person)(objectClass=user)(msNPAllowDialin=FALSE))" distinguishedName sAMAccountName

Lista los Usuarios que tienen acceso Dial-in con Control de Acceso a través de una Política de Acceso Remoto (por ejemplo OU=IT, Domain=Contoso.com)

AdFind.exe -b "OU=IT,DC=Contoso,DC=com" -f "(&(objectCategory=person)(objectClass=user)(!(msNPAllowDialin=*)))" distinguishedName sAMAccountName

Lista los miembros de un Grupo (por ejemplo Group=IT_Support)

AdFind -b "CN=IT_Support,CN=Users,DC=Contoso,DC=com" member

Cuenta el número de miembros de un Grupo (por ejemplo Group=IT_Support)

AdFind -f "sAMAccountName=IT_Support" member -list | AdFind -c

Lista los miembros de un grupo anidado (por ejemplo Group=Support, OU=IT, Domain=Contoso.com)

AdFind -default -bit -f "memberof:1.2.840.113556.1.4.1941:=CN=Support,OU=IT,DC=Contos,DC=com" sAMAccountName -nodn

Lista todos los grupos en uba OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -f "(objectcategory=group)"

Lista todos los grupos de distribuciíon universales en una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind –gc -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(sAMAccountType=268435457)(grouptype:OR:=8))" 1.1

Lista todos los grupos de seguridad universales en una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind –gc -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(grouptype:AND:=-2147483640))" 1.1

Lista todos los grupos universales (Distribución y Seguridad) de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -gc -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(grouptype:OR:=8))" 1.1

Lista todos los grupos globales (Distribution & Security) de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(grouptype:OR:=2))" 1.1

Lista todos los grupos de seguridad globales de una OU (por ejemplo OU=IT, Domain=Contoso.com)


AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(grouptype:AND:=-2147483646))" 1.1

Lista todos los grupos de distribución globales de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(sAMAccountType=268435457)(grouptype:OR:=2))" 1.1

Lista todos los grupos locales de dominio (distribución y seguridad) de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -bit -f "(&(objectcategory=group)(grouptype:OR:=4))" 1.1

Lista todos los grupos locales de dominio de seguridad de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -f "(&(objectcategory=group)(sAMAccountType=536870912))" 1.1
 
Lista todos los grupos locales de dominio de distribución de una OU (por ejemplo OU=IT, Domain=Contoso.com)

AdFind -b "OU=IT,DC=Contoso,DC=com" -s subtree -f "(&(objectcategory=group)(sAMAccountType=536870913))" 1.1

Encuentra todos los objetos Computer del dominio y muestra cn & createTimeStamp

AdFind -b dc=Contoso,dc=com -f "objectcategory=computer" cn createTimeStamp


Fuente: AdFind command examples 

Comentarios