active-directory - ejemplos - dsquery user
¿Cómo puedo consultar a los usuarios con una contraseña expirada en Active Directory? (2)
Necesito consultar a Active Directory una lista de usuarios cuya contraseña está a punto de caducar. La forma obvia (y fácil) de hacerlo es con:
dsquery user -stalepwd n
El problema es que necesito agregar filtros adicionales solo para buscar usuarios que están en ciertos grupos de seguridad. Esto es difícil de hacer con la sintaxis "dsquery user" que tiene la opción built-in -stalepwd, así que he estado usando la opción "dsquery * -filter" que le permite usar la sintaxis de consulta LDAP. Desafortunadamente, si bien es relativamente fácil de aplicar los otros filtros con una consulta LDAP, tengo problemas para filtrar usuarios que tienen una contraseña con una antigüedad superior a n.
¿Alguien sabe la sintaxis (o si es posible) para filtrar las contraseñas antiguas utilizando el método "dsquery * -filter" en lugar del método "dsquery user -stalepwd".
Hay mejores herramientas que dsquery para usar.
FindExpAcc de joeware hará lo mismo que stalepwd y permitirá un filtro a través de su modificador -f.
El filtro se vería así:
&(objectCategory=user)(memberof=CN=User Group,OU=Test,DC=foo,dc=com)
También consulte las herramientas adfind y admod de joeware, que son más potentes que las herramientas de consulta de línea de comandos de Microsoft, pero pueden ser un poco más difíciles de aprender.
Puede escribir una consulta LDAP que compare las contraseñas "obsoletas" comparando el atributo pwdLastSet en el objeto del usuario:
(&(objectClass=person)(objectClass=User)(pwdLastSet<=n))
ActiveDirectory utiliza un formato muy específico para esta marca de tiempo. Creo que es un tiempo de archivo, pero lo comprobaría dos veces en la web.