Fare ricerche in Active Directory tramite Excel

Andiamo a cominciare…

Per quanto segue sono partito dall’esigenza di voler monitorare la posizione di alcuni account in active directory, partendo da una lista importata in excel.

Nei miei vagabondaggi nella Rete mi sono imbattuto nel fantastico lavoro di Remko che ho adattato alla mia situazione. Ma vi consiglio di leggere il suo articolo per i dettagli pur promettendo che prima o poi lo ripubblico pure io con altre spiegazioni..

Molto brevemente la sua macro permette di cercare una user in AD, e restituisce il campo specificato.

Attenzione che non è in grado di restituire i campi che contengono più stringhe (tipo member o memberof).

Nel mio caso avevo nella colonna A gli account e in B volevo il percorso nella directory, percio’: B1=(“samaccountname”;A1;”adspath”) et voilà mi appare il percorso dell’account cercato!

Qualche tempo dopo mi si è presentato il problema di cercare il percorso dei gruppi.. come fare? come fare? Mi son studiato la function iniziale e ho visto cosa va modificato:

adoCommand.CommandText = _
“<LDAP://” & strServer & “/” & strDNSDomain & “>;(&(objectCategory=Group)” & _
“(” & SearchField & “=” & SearchString & “));” & SearchField & “,” & ReturnField & “;subtree”

Nessuna magia: quella che si vede dopo il primo “;” è una query ldap piuttosto banale dove la parola in grassetto indica che tipo di oggetto stiamo cercando, la variabile SearchFiled è il campo di cui siamo in possesso (ad es. samaccountname), SearchString la parola che cerchiamo e ReturnField il campo che ci serve.

Ok.. come primo articolo fa un po’ schifo, ma datemi tempo di ripulire le mie macro da variabili inutili e vedrete che i prossimi saranno peggio 🙂

Ciao

getadsprop