Query LDAP per utenti AD con scadenza password

Talvolta serve eseguire ricerche su oggetti in Active Directory che hanno determinate caratteristiche, un esempio è quello di avere un elenco di utenti su cui la password è impostata per scadere (o viceversa ad esempio per gli account dedicati a servizi).

Spesso per risolvere queste problematiche si utilizzano script basati su ADSI (Active Directory Service Interfaces) a riguardo si veda ad esempio How to obtain password expiration date by using LDAP ADSI provider.

Si noti però che se chi necessita di utilizzare tali query è l’amministratore di sistema che ha a disposizione uno strumento come ADUC (Active Directory Users & Computers dsa.msc) che ha a disposizione la possibilità di utilizzare le query salvate.

image

 

 

 

 

 

Tramite questo strumento è infatti possibile creare query basate su campi o tramite la scheda Avanzate è possibile inserire clausole LDAP che possono poi venire eseguite su specifiche OU (Organizational Unit).

image

image

Nel nostro caso per selezionare gli utenti che su cui la password ha una scadenza basta inserire il seguente filtro LDAP:

(objectCategory=person)(objectClass=user)(!userAccountControl:1.2.840.113556.1.4.803:=65536))

Nel caso invece si desiderassero gli utenti su cui la password non ha scadenza il filtro sarà:

(objectCategory=person)(objectClass=user)(userAccountControl:1.2.840.113556.1.4.803:=65536))

Si ricordi poi che in Windows 2008 R2 è stata introdotta il Centro di amministrazione di Active Directory che permette di creare query LDAP in modo guidato con filtri più complessi rispetto ad ADUC.

Per ulteriori informazioni si vedano: