Grazie all'utility LDIFDE.EXE, contenuta nei server windows, è possibile esportare i dati di ActiveDirectory in un file, per poterli poi importare in un qualsiasi servizio Directory.
Tale procedura può tornare utile qualora si voglia automatizzare alcuni passaggi per la modifica/aggiunta di utenti e gruppi o se si vuole replicare gli utenti di un dominio ActiveDirectory in altri servizi Directory.
La sintassi del comando è
ldifde [-i] [-f %NomeFILE%] [-s %ServerLDAP%] [-d %BaseDN%]
[-p %SCOPE%] [-r %FiltroLDAP%] [-m]
dove
-i indica la modalità di importazione, se non viene specificata il tool di default si imposta in modalità esportazione
%NomeFILE% indica il file di esportazione o di importazione
%ServerLDAP% indica da quale server di dominio estrapolare
o importarei dati
%BaseDN% indica la base di ricerca da dove estrapolare i dati
%SCOPE% [Base, OneLevel, SubTree] indica l'ambito di ricerca
%FiltroLDAP% indica un filtro per l'estrapolazione dei dati
-m omette l'esportazione degli attributi ActiveDirectory
Vediamo un esempio pratico.
Partiamo dal presupposto di avere sul DomainController DC01 un dominio ActiveDirectory siffatto:
MiaAzienda (dominio DNS miaazienada.com)
|
Dipendenti
|
+Amministrazione
|
+Logistica
|
+Produzione
Vogliamo esportare tutti nel file Utenti_Logistica.ldf gli utenti della Organization Unit "Logistica"
In questo caso il %BaseDN% sarà
"OU=Logistica,OU=Dipendenti,DC=MiaAzienda,DC=com"
Volendo esportare solo gli utenti potremmo impostare %FiltroLDAP%
"(objectCategory=CN=Person,CN=Schema,CN=configuration,DC=MiaAzienda,
DC=com)"
Per poter usare l'utility LDIFDE occorre esser autenticati come membri del gruppo di amministrazione del dominio su una macchina server.
Dal prompt dei comandi basta lanciare il comando:
ldifde -f c:\Utenti_Logistica.ldf -s DC01 -d "OU=Logistica,OU=Dipendenti,DC=MiaAzienda,DC=com" -p subtree -r "(objectCategory=CN=Person,CN=Schema,CN=configuration,
DC=MiaAzienda,DC=com)" -m
al termine dell'esportazione il sistema ci avviserà della corretta esecuzione del comando.
A questo punto abbiamo un file .ldf che contiene tutte le proprietà di tutti gli utenti della OU Logistica.
A questo punto abbiamo un file .ldf che contiene tutte le proprietà di tutti gli utenti della OU Logistica.
Questo file è impostato per poter ricreare gli utenti in un ActiveDirectory dove non sono presenti gli utenti contenuti nel file.
In ogni oggetto utenti la variabile changetype è impostata su add.
Se si vuole modificare una proprietà nell'oggetto per poter poi importare il file nella stessa ActiveDirectory da cui abbiamo estrapolato i dati occorre impostare la variabile changetype su modify.
Ad esempio:
nel file c:\Utenti_Logistica.ldf abbiamo come primo oggetto:
dn: CN=Mario ROSSI,OU=Logistica,OU=Dipendenti,DC=MiaAzienda,DC=com
changetype: add
st RM
postalcode: 00100
streeAddress: Piazza Navona
Se lanciassimo l'importazione del file su una ActiveDirectory che non ha l'utente Mario ROSSI allora l'utente verrebbe creato.
Di contro, se volessimo trasferire il sig. Mario Rossi da Roma a Bari, all'interno della stessa ActiveDirectory da cui abbiamo generato il file di esportazione, allora dovremo modificare la sintassi con
Di contro, se volessimo trasferire il sig. Mario Rossi da Roma a Bari, all'interno della stessa ActiveDirectory da cui abbiamo generato il file di esportazione, allora dovremo modificare la sintassi con
dn: CN=Mario ROSSI,OU=Logistica,OU=Dipendenti,DC=MiaAzienda,DC=com
changetype: modify
replace: st
st=BA
-
replace: postalcode
postalcode: 70000
-
replace: streeAddress
streeAddress: via Sparano
Una volta effettuate tutte le modifiche necessarie non rimane che importare i dati nell'ActiveDirectory.
Sempre con l'utility ldifde dal prompt del dos scriviamo il comando:
ldifde -i -f c:\Utenti_Logistica.ldf -s DC01 -j c:\log -k
dove
-j c:\log indica a ldifde il path dove generare il file di log
-k ignora gli errori durante l'importazione e continua l'elaborazione del file
se tutto è andato a buon fine il computer lo comunica. Andando nella mmc di ActiveDirectory troveremo le modifiche apportate.
P.S. oltre al Tool LDIFDE è possibile utilizzare, con la stessa sintassi, il tool CSVDE che esporta i dati in formato CSV delimitato da virgole.