Results 1 to 6 of 6
  1. #1
    Join Date
    Nov 2007
    Arab world!
    Blog Entries
    Rep Power

    Arrow export users or groups from active directory by LDIFDE Export

    Introduction to LDIFDE Export
    The purpose of this page is to show you how to export user accounts from Active Directory. The killer advantage of LDIFDE over CSVDE is that you can modify existing objects with LDIFDE (but not with CSVDE). The disadvantage of LDIFDE is that it will not sit nicely in my spreadsheet, whereas CSVDE data is made for a table.
    In term of learning, the tricky LDIFDE switches, it is much easier to begin with the export commands before moving on to import.
    Here are scenarios to use LDIFDE:
    Adding a bulk lot of new users to Active Directory, complete with passwords.
    Modifying existing users or groups in Window Server 2003 or Windows 2003.
    Exporting Active Directory information. You may want to modify attributes then import again.
    Changing schema information, for example adding email attributes.

    Let us pause for a minute to think of what the acronym LDIFDE means. The L stands for LDAP. LDAP is the Active Directory language, protocol, method of finding objects. In this context, DIF means Data Interchange Format, whilst DE means Data Exchange. Put it altogether and you have LDIFDE - the name of the executable that you can use to manipulate user accounts and other objects in Active Directory.

    It is no surprise that you need Active Directory installed before you can use LDIFDE. However, once Active Directory is installed you can execute LDIFDE from the command prompt. ˚

    LDIFDE Export Examples
    1. Getting started
    The situation is, you want to extract user accounts from Active Directory. Perhaps you are doing this with a view to making changes, then importing them back into Active Directory. Alternatively, you may just want to practice the export to gain experience because LDIFDE -f filename, is harmless compared with the import command. Note that export is the default so you do not need a -i switch, all you need is the -f switch and a filename.
    ldifde -f export.ldf -s BigServer (Where BigServer is your domain controller and export.ldf is the filename)

    In theory you can export user accounts by just giving the filename, but I find you need the -s switch to connect to the server. (-s BigServer)

    Type your ldifde commands in notepad, then save as a .bat file then execute your .bat file from DOS.
    2. Adding filters with -r
    Use the -r switch to filter your data, for example: the command to export only computer objects on a server called BigServer is:
    ldifde -f ExportComputer.ldf -s BigServer -r "(objectclass=computer)"

    Gradually add to your basic ldifde file, pay attention to the syntax e.g. "speech marks", commas
    Exporting only the LDIFDE fields you want with -l (lower case L)
    ldifde -f ExportUser.ldf -s BigServer -r "(objectclass=user)" -l "dn, cn, givenName, sn, department"
    You can see that ldifde uses LDAP attributes so it worth learning the basics of the names and what they are used for. See more in my ebook.
    Summary of LDIFDE Export
    It is best to begin your research into LDIFDE with the Export commands. Not only are the export switches easier, but also there is no chance of damaging your Active Directory accounts.

  2. Facebook Comments -

  3. Forum Ads:

  4. Forum Ads:

  5. Forum Ads:


  6. #2
    Join Date
    Nov 2007
    Arab world!
    Blog Entries
    Rep Power


    Export Active Directory Group members listMarch 3, 2009
    I found this script a while back. It will create a list of all the Groups and there members in your Active directory domain. Just copy the text below into an empty text document and rename to something like GetGroupMembers.vbs .
    Dim sResultText,Grps,MemberList
    Dim oRootDSE, oConnection, oCommand, oRecordSet
    Set oRootDSE = GetObject(LDAP://rootDSE)
    Set oConnection = CreateObject(ADODB.Connection)
    oConnection.Open Provider=ADsDSOObject;
    Set objCommand = CreateObject(ADODB.Command)
    objCommand.ActiveConnection = oConnection
    ldstring = ;
    objCommand.CommandText=ldstring & (objectClass=group);name,SamAccountName
    Set oRecordSet = objCommand.Execute()
    Do While Not oRecordSet.EOF
    sResultText = sResultText & oRecordSet.Fields(samAccountName) & vbCrLf
    WScript.Echo oRecordSet.Fields(samAccountName) & vbCrLf
    MemberList=RetrieveUsers(dom,oRecordSet.Fields(sa mAccountName))
    WScript.Echo Memberlist
    sResultText = sResultText & memberlist & vbCrLf & ************************************ & vbCrLf
    Wscript.Echo sResultText
    Set fso = CreateObject(Scripting.FileSystemObject)
    Set ts = fso.CreateTextFile (dom & DomainGroupUsers.txt, ForWriting)
    ts.write sResultText
    MsgBox Done
    ************************************************* ****************************************
    ************************************************* ****************************************
    Function RetrieveUsers(domainName,grpName)
    dim dom
    dim grp
    dim GrpObj
    dim mbrlist
    dim mbr
    *** Enumerate Group Members ***
    grp = grpName
    Set objDomain = getObject(LDAP://rootDse)
    domainName = objDomain.Get(dnsHostName)
    Build the ADSI query and retrieve the group object
    Set GrpObj = GetObject(WinNT:// & domainName & / & grp & ,group)
    Loop through the group membership and build a string containing the names
    for each mbr in GrpObj.Members
    On error resume next
    mbremail = SearchEmail(
    If Err Then
    mbrlist = mbrlist & vbTab & & vbCrLf
    if you dont want the email addresses, then copy the line 2 up to below
    mbrlist = mbrlist & vbTab & & vbTab & vbTab & mbremail+ vbCrLf
    End If
    The next line returns mbrlist back up to the main body
    End Function
    Public Function SearchEmail(ByVal vSAN)
    Function: SearchDistinguishedName
    Description: Searches the DistinguishedName for a given SamAccountName
    Parameters: ByVal vSAN The SamAccountName to search
    Returns: The DistinguishedName Name
    Dim oRootDSE, oConnection, oCommand, oRecordSet
    Set oRootDSE = GetObject(LDAP://rootDSE)
    Set oConnection = CreateObject(ADODB.Connection)
    oConnection.Open Provider=ADsDSOObject;
    Set oCommand = CreateObject(ADODB.Command)
    oCommand.ActiveConnection = oConnection
    oCommand.CommandText =
    >;(&(objectCategory=User)(samAccountName= & vSAN & ));mail;subtree
    Set oRecordSet = oCommand.Execute
    On Error Resume Next
    SearchEmail = oRecordSet.Fields(mail)
    On Error GoTo 0
    Set oRecordSet = Nothing
    Set oCommand = Nothing
    Set oConnection = Nothing
    Set oRootDSE = Nothing
    End Function
    Double click on the new created file and give it a few moments (Depends on the size and number of groups in your domain). There is no display while it is running. After is completed that will be a text file with all the information is. You can the import this file in to excel.
    Download the script Here (Rename the file to a .zip )

  7. #3


    Excellent Eng/Mohamed,nice work

  8. Forum Ads:

  9. #4
    Join Date
    Nov 2007
    Arab world!
    Blog Entries
    Rep Power

  10. #5


  11. Forum Ads:

  12. #6
    Join Date
    Nov 2007
    Arab world!
    Blog Entries
    Rep Power


    Mohamed Fouad
    Technical Team Leader
    Connect your EgyEng.comand Facebook account NOW!
    Just click on the Facebook icon so scroll till upper of the page and connect NOW!

    Mohamed Fouad :

Similar Threads

  1. Replies: 0
    Last Post: 23-03-2013, 01:58 AM
  2. Replies: 0
    Last Post: 10-02-2011, 12:43 PM
  3. Replies: 0
    Last Post: 26-12-2010, 06:31 PM
  4. Replies: 0
    Last Post: 03-10-2010, 04:25 PM
  5. some ways to Export Active Directory data
    By Mohamed Fouad in forum Microsoft
    Replies: 2
    Last Post: 05-05-2010, 04:36 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Egypt Engineers