• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1922
  • Last Modified:

Export AD usernames and login scripts used


I'm not sure if this is even possible but here goes.

I'm wanting to export ALL user names from our AD and the login script each user uses.  I'm trying to organize and determine which scripts are being utilized and which need to be deleted.  This is a 2003 sever environment.  If I can provide any additional information please let me know!
1 Solution
the DSTools should show you what you need.....i used it to similarly display profiles

Here is the code a a VBscript that will do what you want. All you should have to is change "dc=domain,dc=com" to "dc=yourdomain,dc=com". It will export all user's info into a textfile - userinfo.txt. There are a few extra fields as I've used this in the past for my own means.

Hope this helps!

Oh, and if you're not familiar with vbscript just put this code in a textfile and save the textfile with a .vbs for the extension.
' ListUsersOU.vbs
' Pulls specific info from each user in the domain and puts the info in a txtfile
' Author Chris 
' Created 10/31/2007
'Global variables
    Dim oContainer
    Dim OutPutFile
    Dim FileSystem
    Dim MyDate
'Set Date so that txt file can be unique
MyDate = Date()
MyDate = Replace(MyDate, "/", "-")
'Initialize global variables
    Set FileSystem = WScript.CreateObject("Scripting.FileSystemObject")
    Set OutPutFile = FileSystem.CreateTextFile("UserInfo" & MyDate & ".txt", True)
    Set oContainer = GetObject("LDAP://dc=domain,dc=com")
oContainer.Filter = Array("organizationalUnit")
strList = ""
'Enumerate Container
    EnumerateUsers oContainer
'Clean up
    Set FileSystem = Nothing
    Set oContainer = Nothing
    Set MyDate = Nothing
    'The line below is for testing purposes only.
    'WScript.Echo "Finished"
Sub EnumerateUsers(oCont)
    Dim oUser
    For Each oUser In oCont
        On Error Resume Next
        Select Case LCase(oUser.Class)
               Case "user"
                    If Not IsEmpty(oUser.distinguishedName) Then
                       OutPutFile.WriteLine "DisplayName: " & oUser.displayName
                       OutPutFile.WriteLine "Logon Name: " & oUser.sAMAccountName
                       OutPutFile.WriteLine "Phone Number: " & oUser.telephoneNumber
                       OutPutFile.WriteLine "Office: " & oUser.physicalDeliveryOfficeName
                       OutPutFile.WriteLine "Description: " & oUser.description
                       OutPutFile.WriteLine "Login Script: " & oUser.scriptPath
                    End If
               Case "organizationalunit", "container"
               EnumerateUsers oUser
        End Select
End Sub

Open in new window

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free tool for managing users' photos in Office 365

Easily upload multiple users’ photos to Office 365. Manage them with an intuitive GUI and use handy built-in cropping and resizing options. Link photos with users based on Azure AD attributes. Free tool!

Tackle projects and never again get stuck behind a technical roadblock.
Join Now