Tips and Tricks .......


Windows and .......
Ora e Data
Mappa

Estrarre le info da AD

Classica domanda : "è possibile estrarre le info da AD" ..............la mia classica risposta è: "si possono estrarre le info da un DB"?

A questo proposito ho scritto un breve script per esportare info da AD e scriverle in un file csv.

On Error Resume Next

Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand =   CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE

--------------------------connessione ad AD---------------------------

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objLogFile = objFSO.CreateTextFile("service_list.csv", _
    ForWriting, True)

-------------------------creazione del file csv nella posizione in cui viene lanciato lo script---------------------------------------


objCommand.CommandText = _
    "SELECT givenName,sn,physicalDeliveryOfficeName,telephoneNumber,mail FROM 'LDAP://"Dn della OU-dominio" WHERE objectCategory='user'"

------------------------Query-------------------------------------------------

------------------------a questo proposito vorrei chiarire alcuni aspetti della query:

------------------------SELECT : attributi da esportare .I nomi reali degli attributi (info) da esportare li potete trovare comodamente tramite ADSIedit.

------------------------FROM : Posizione in cui sono presenti gli oggetti da cui voglio estrarre le info.Va inserito il DN della OU, Dominio

------------------------WHERE: tipo di oggetto che voglio filtrare .(user, computer, ecc)

Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst

Do Until objRecordSet.EOF
      objLogFile.Write objRecordSet.Fields("givenname").Value & ","
      objLogFile.Write objRecordSet.Fields("sn").Value & ","
      objLogFile.Write objRecordSet.Fields("physicalDeliveryOfficeName").Value & ","
      objLogFile.Write objRecordSet.Fields("mail").Value & ","
      objLogFile.Write objRecordSet.Fields("telephonenumber").Value & ","
 objLogFile.Writeline
 objRecordSet.MoveNext
Loop
objLogFile.Close

-----------------------------creazione del file CSV basato sulle info selezionate nella query-------------------------------------

Guida rapida allo script:

1- Salvate lo script in file VBS

2-Nella query : dopo il SELECT aggiungete i vostro attributi separati da ", "

3-Nella query : dopo FROM inserire il vostro percorso LDAP. Il percorso LDAP da inserire è il punto di ingresso da cui la query inizia la selezione.

4-All'internodel ciclo aggiungete tante istruzioni :  objLogFile.Write objRecordSet.Fields("ATTRIBUTO").Value & "," quanti sono i vostri attributi presenti nella query.

5-Eseguite lo script

p.s: ringrazio per lo "spunto" Moreno e tutti gli amici BRIT........

 

Luca

 

lunedì, 29 set 2008 Ore. 12.37
Archivio Posts
Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006
Statistiche
  • Views Home Page: 70.128
  • Views Posts: 102.088
  • Views Gallerie: 0
  • n° Posts: 106
  • n° Commenti: 5
Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003