Solved

VBS script to modify displayname from an excel sheet

Posted on 2009-07-02
3
658 Views
Last Modified: 2013-12-24
I need to modify every displayname in my domain. The display name will be a mixture of the existing display name, Firstname, Lastname and Initial. I did a CSVDE export into an excel document and then used the existing fields to create the new display name . Now I need to modify all the user objects and update the new display name. I found this vbs code but I'n not sure where to put the correct user fields.
Set oNetwork = CreateObject("wscript.network")
Domain = oNetwork.UserDomain
xlsname = "path to my spreadsheet.xls"
Set oExcelApp = CreateObject("Excel.Application")
Set oWorkbook = oExcelApp.Workbooks.Open(xlsname)
Set oWorksheet = oWorkbook.Worksheets(1)
oWorksheet.Activate
oExcelApp.Visible = False
iCounter = 2
bEmpty = False
Do Until bEmpty = True    
   strCell = oWorksheet.Cells(iCounter, 1)
   If strCell = "" Then
        bEmpty = True
   Else
    	EditUser oWorksheet.Cells(iCounter, 1), oWorksheet.Cells(iCounter, 2), oWorksheet.Cells(iCounter, 3)
	iCounter = iCounter + 1
   End If
Loop
oExcelApp.Quit
WScript.Echo("Done!")
 
Sub EditUser(SAMAccountName, Manager, Department)
	UserADSPath = GetObjectDN(SAMAccountName, Domain)
         If UserADSPath <> "?" Then
	       Set oUser = GetObject(UserADSPath)
	       oUser.Manager = Manager
	       oUser.Department = Department
	       oUser.SetInfo()
         Else
                WScript.Echo("User " & SAMAccountName & " not found")
         End If
End Sub
 
Function GetObjectDN(strObject, strDomain)
	On Error Resume Next : Err.Clear
	Set objNameTranslate = CreateObject("NameTranslate")
	objNameTranslate.Init 3, ""
	objNameTranslate.Set 3, strdomain & "\" & strObject
	strObjectDN = objNameTranslate.Get(1)
	If Err.Number <> 0 Then
		strObjectDN = "?"
	End If
	Set objNameTranslate = Nothing
	On Error Goto 0
	GetObjectDN = strObjectDN
End Function

Open in new window

CSVDE-Export.xls
0
Comment
Question by:leche671
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
3 Comments
 
LVL 1

Expert Comment

by:nailgg
ID: 24761538
Hi. Leche671
Actually i didn't understand what do u need completely, but as i understand u can use "EditUser" sub to edit the fields(on 23. line of the code)
0
 

Author Comment

by:leche671
ID: 24769328
Sorry for such a late response I just got back into to work. My question is where in the script do I reference the proper fields. I don't see where the script looks up the fileds in the excel document. I want to make sure when the script runs it doesn't put the "department" field in the "telephone" field. I really don't know scripting
0
 
LVL 1

Accepted Solution

by:
nailgg earned 500 total points
ID: 24769552
Do Until bEmpty = True    
   strCell = oWorksheet.Cells(iCounter, 1)
   If strCell = "" Then
        bEmpty = True
   Else
        EditUser oWorksheet.Cells(iCounter, 1), oWorksheet.Cells(iCounter, 2), oWorksheet.Cells(iCounter, 3)
        iCounter = iCounter + 1
   End If
do u understand this code? it edits the fields until it founds an empty field. on the 16. line of code it calls the edituser sub.

this is the answer, or i still don't understand your question.
0

Featured Post

Is Your AD Toolbox Looking More Like a Toybox?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Did you know that more than 4 billion data records have been recorded as lost or stolen since 2013? It was a staggering number brought to our attention during last week’s ManageEngine webinar, where attendees received a comprehensive look at the ma…
Recently I was talking with Tim Sharp, one of my colleagues from our Technical Account Manager team about MongoDB’s scalability. While doing some quick training with some of the Percona team, Tim brought something to my attention...
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
This is a high-level webinar that covers the history of enterprise open source database use. It addresses both the advantages companies see in using open source database technologies, as well as the fears and reservations they might have. In this…

705 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question