LDIFDE

Es similar a CSVDE, lo único que exporta a un formato basado el LDIF (LDAP Data Interchange Format), es multiplataforma. La ventaja de LDIFDE con CSVDE es que con LDIFDE podemos modificar e incluso borrar objetos, no obstante no trabaja con passwords y no se pueden exportar

Exportar datos

La sintaxis es igual que la de CSDE

ldifde
-s <server> –f file.ldf -d <RootDN> -p < scope> -r <filter> -l <attributo>

  • -f <file> à

    especifica el archivo a crear donde se exportara
    • -f c:\test.csv o –f c:\test.ldf

       

  • -S <server> à
    especifica el servidor al que conectar. Si no ponemos nada, es en el cual estamos logados
    • -s NYC-DC1

       

  • t <port> à

    puerto LDAP a usar.
    • –t 10389

       

  • -d <rootDN> à

    Especifica el contenedor desde el cual comenzaremos a exportar, permitiendo por ejemplo exportar en una determinada OU o un objetos. Si no ponemos nada, por defecto, exportara todo el dominio
    • -d “ou=ventas,dc=dominio,dc=com”    // Para exportar sola la OU “ventas”
    • -d “cn=pepe,cn=users,dc=dominio,dc=com” // Para exportar solo un usuario
  • -p < base | onelevel | subtree > à
    especifica el ámbito de la búsqueda relativa a a la ruta de “-d rootDN”- por defecto si no se pone nada es la opción “subtree”
    • –p base    //este objeto únicamente
    • –p onelevel    //objetos dentro de este contenedor
    • –p subtree    //este contenedor y todos sus subcontenedores
    • -r “(filtro)”
      à

      nos permite filtrar basándonos en una clase de objeto de tipo LDAP. Si se omite exporta todos
      • –r “(objectClass=user)”
        // exporta usuarios y maquinas de la OU “ventas”
      • –r “(objectClass=computer)”
        // exporta solo las computadoras
      • –r “(objectClass=group)”
        // exporta solo los grupos
      • –r “(objectCategory=person)”
        // exporta solo usuarios y contactos de la OU “ventas”
      • r “(&(objectClass=user)(sn=torres))” //exporta usuarios que tengan el surname “torres”
      • r “(&(objectClass=user)(sn=per*))” //exporta usuarios con surname que empiece por “per”
      • -r “(&(objectClass=user)(objectCategory=person))” //solo usuarios y no contactos

         

    • -l <atrritutos> à

      especifica los atributos a exportar. Si se omite, se exportaran todo. El lastname es “sn”
      • -l “objectClass,sn,office,samaccounname,givenName”
  • -o <atributos>: à
    especifica los atributos que se omitirán en la exportación
    • -o StreetAddress
    • -c <string1> <string2> à reempleza la cadena 1 con el contenido de la 2, para importar entre dominios y reemplazar el DN del dominio exportado (string1) con el DN del dominio importado (string2)

Evidentemente si exportamos los usuarios con unos atributos, borramos el usuario del AD, y lo importamos de nuevo, solo estarán disponibles los atributos cque se exportaron, aparte de cambiar el SID, etc…

Cuando exportamos el fichero nos sale la siguiente estructura

  • La primera línea es siempre el DistiguishedName del usuario
  • Changetype: add | remove | change
    • Add (para añadir información al AD. Es el estado que sale al exportar, porque en teoría se importara)
    • Remove (eliminaría la entrada del usuario)
    • modify: reemplazaría la información

Como vemos hay una línea de espacio para identificar que es otro usuario con sus características


Ejemplos

Exporta todas los User Accounts except los que no pueden ser importados

  • ldifde -f Exportuser.ldf -s <Server1> -d “dc=Export,dc=com” -p subtree -r “(&(objectCategory=person)(objectClass=User)(givenname=*))” -o “badPasswordTime,badPwdCount,lastLogoff,lastLogon,logonCount, memberOf,objectGUID,objectSid,primaryGroupID,pwdLastSet,sAMAccountType”

Exportar todas las cuentas del dominio. L atributo sAMAccountName es obligatorio junto con ObjectClass

  • ldifde -f Exportuser.ldf -s Server1 -d “dc=Export,dc=com” -p subtree -r “(&(objectCategory=person)(objectClass=User)(givenname=*))” -l “cn,givenName,sn,objectclass,samAccountName”

Reemplazar datos

  • ldifde –i –f c:\replace.ldf -k

El contenido del fichero debe ser así. Es MUY importante que acabe la última línea sea ““para indicar que termina


  • La primera línea seguiría siendo el DN a cambiar
  • Changetype : modify
  • Replace: <atributo>     //ponemos el nombre der atributo a modificar
  • <atributo>:<new value>    //ponemos el nuevo valor del atributo a cambiar. Nos lo modificara
  •     //indica que acaba

Add datos a objeto existente

Añadimos el DN del objeto al cual queremos añadir atributos y como changetype ponemos “modify” y el comando add: <atributoZ

  • ldifde –i –f c:\add.ldf -k


  • Changetype : modify
  • add: <atributo>     //ponemos el nombre der atributo a modificar
  • <atributo> : <value>

Modificar multiples datos a un objeto existente

  • ldifde –i –f c:\multiple.ldf -k

Si hacemos múltiples modificaciones a una entrada, entre cada modificación debemos poner un guion (-)


Borrar objetos del AD

  • ldifde –i –f c:\deleteobject.ldf -k

Be the first to comment

Leave a Reply