Ciao a tutti,
spero che questo post possa tornare utile a coloro che come me stanno provando a importare da Active Direcory e mantenere aggiornato l'elenco degli Employees.
Per ora ho esportato i nominativi da AD con la seguente query ldap:
ldapsearch -LLL -H ldap://your.dc.address -ssub -x -D user -W -b "dc=your,dc=base" "(&(objectCategory=person)(objectClass=user))" sn givenName mail telephoneNumber objectSid | grep -vE "^#|^$|^\s+|^dn: "| awk 'BEGIN { print "Surname|Name|Email|Phone|State|Code" } {a[$1]=$2; for (i=3; i<NF; i++) a[$1]=a[$1] $i; if(NF > 2) a[$1]=a[$1]" "$NF; if ($1=="mail:") {printf( "%s|%s|%s|%s|Active|%s\n", a["sn:"], a["givenName:"], a["mail:"], a["telephoneNumber:"], a["objectSid::"]); delete a;}}'
Le righe sono formattate come: Surname|Name|Email|Phone|State|Code
Il campo Code, che ho messo a unique nella classe Employee, viene valorizzato con il SID dell'utente.
Il campo State per ora viene valorizzato con Active, ma si può facilmente impostare in accordo con lo stato che l'oggetto ha in Active Directory.
Ho quindi importato con successo gli Employees in CMDBuild.
Le domande che mi restano sono:
1 - In CMDBuild è prevista o preferibile una strada diversa da questa per importare dati da Active Directory?
2 - Come posso mantenere facilmente aggiornata la base dati? Ho visto che la funzionalità "Import CSV" ha un tasto Update, ma non sembra aggiornare le Card qualora vi siano dei dati modificati: ogni volta restituisce l'avviso "No cards to update" anche se vado a modificare a mano uno dei valori.
Un grazie in anticipo per l'aiuto.
Paolo Larcheri