I need a VB script that uses the RenComp.exe tool

Would like to add sort of a GUI to RenComp.exe.  Script should
1 – Ask for old computer name
2 – Then ask for new computer name
3 – Rename computer name and give a pop up confirmation
4- Prompt for next computer name and log all successful & unsuccessful attempts

Old script notes:

Dim objExcel, strPathExcel, objFile
Dim fso, ts, fso2, ts2
Const ForWriting = 8
Const ForReading = 1
Set fso = CreateObject("Scripting.FileSystemObject")
Set objExcel = CreateObject("Excel.Application")
strPathExcel = "\\DS\ADLookup\ADLookupR.xls"
objExcel.Workbooks.open strPathExcel
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)
Set SH = CreateObject("WScript.Shell")

row = 1

newName = ""

Do While Trim(objSheet.cells(row, 1).Value) <> ""
   CName = objSheet.cells(row, 1)
   newName = Trim(objSheet.cells(row, 5).Value)
   
   If objSheet.cells(row, 6) <> "CHANGED" Then

      SH.Run "cmd /c RENCOMP " + CName + " " + newName + " >c:\temp.tmp", 1, True

      Set ts = fso.OpenTextFile("c:\temp.tmp", ForReading, True)
      a = ts.ReadLine()
      ts.Close

      If InStr(a, "Failed") > 0 Then
         MsgBox ("Failed to rename " + CName + " to " + newName + "!")
         objSheet.cells(row, 6) = ""
         objSheet.cells(row, 7) = ""
      Else
         MsgBox ("Successfully renamed " + CName + " to " + newName + "!")
         objSheet.cells(row, 6) = "CHANGED"
         objSheet.cells(row, 7) = Trim(CStr(Now))
      End If
   End If

   row = row + 1
Loop

objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
MsgBox ("Script complete.")

Roebuck1967Asked:
Who is Participating?
 
YohanShmingeCommented:
1) Replace these lines:

   currentC = InputBox("Please enter the current computer name.")
   If currentC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If
   newC = InputBox("Please enter the new computer name.")
   If newC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If

With these to add TAKING-

   currentC = InputBox("Please enter the current computer name.", "Old Name")
   If currentC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If
   newC = InputBox("Please enter the new computer name.", "New Name", "TAKING-")
   If newC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If

2) I don't have RENCOMP here right now to check, but is it possible to change name without removing the old?  If so, it would be easy to add to the code, just let me know.
0
 
Pete LongTechnical ConsultantCommented:
No offence - but why arnt you asking this in the VB TA?
0
 
Roebuck1967Author Commented:
Because only one person can answer this question and he knows where to find it.
0
Ultimate Tool Kit for Technology Solution Provider

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy now.

 
Roebuck1967Author Commented:
Feel free to move it to VB
0
 
The--CaptainCommented:
looks like someone beat me to it...  Hope you find more contributions here in VB.

Cheers,
-Jon

0
 
YohanShmingeCommented:
Hi guys!

Yeah, I was looking in the Networking section, Roebuck1967, but I didnt see your new question!  I've been thinking you might move these over to VB so you'd be more likely to get help, as long as they're not too networking-involved.  Buy anyway...

This new script you want, it sounds easy enough, but let can you clarify a few things...
1) Do you no longer want to use the excel file as your source for computer names?
2) How do you want to log attempts? Excel or text file?
3) How many times should the script prompt for computer names?
0
 
Roebuck1967Author Commented:
YohanShminge,
1 - Would like to start with a fresh excel file
2 - Via excel
3 - Prompt until cancel is selected

Would loke to have this a click option on my computer that would exicute
0
 
YohanShmingeCommented:
OK, I think this is what you want.

--------------------------------

Dim objExcel, strPathExcel, objFile
Dim fso, ts, fso2, ts2
Const ForReading = 1
Set objExcel = CreateObject("Excel.Application")
Set fso = CreateObject("Scripting.FileSystemObject")
Set SH = CreateObject("WScript.Shell")

strPathExcel = "C:\changelog.xls"

objExcel.Workbooks.open strPathExcel
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

Do
   currentC = InputBox("Please enter the current computer name.")
   If currentC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If
   newC = InputBox("Please enter the new computer name.")
   If newC = "" Then
      objExcel.ActiveWorkbook.Close
      WScript.Quit
   End If

   SH.Run "cmd /c C:\RENCOMP " + currentC + " " + newC + " >c:\temp.tmp", 1, True

   Set ts = fso.OpenTextFile("c:\temp.tmp", ForReading, True)
   a = ts.ReadLine()
   ts.Close

   For row = 1 To 10000
      If objSheet.cells(row, 1) = "" Then Exit For
   Next

   If InStr(a, "Failed") > 0 Then
      MsgBox ("Failed to rename " + currentC + " to " + newC + "!")
      objSheet.cells(row, 1) = "FAILED"
      objSheet.cells(row, 2) = currentC
      objSheet.cells(row, 3) = newC
      objSheet.cells(row, 4) = Trim(CStr(Now))
   Else
      MsgBox ("Successfully renamed " + currentC + " to " + newC + "!")
      objSheet.cells(row, 1) = "CHANGED"
      objSheet.cells(row, 2) = currentC
      objSheet.cells(row, 3) = newC
      objSheet.cells(row, 4) = Trim(CStr(Now))
   End If
   objExcel.ActiveWorkbook.Save
Loop Until currentC = ""
0
 
Roebuck1967Author Commented:
YohanShminge

I receive the following error after I enter the new computer name
Line 28
Char 4
Error: Input past end file
code: 800A003E
0
 
Roebuck1967Author Commented:
YohanShminge

Scratch that last question - I have it working.

Would kike to tweek things a bit


1) When It prompts for the second computer name can you have "TAKING-" (without the quotes) in the field?
2) Anywhat to have the script promt Yes or No to remove the old name from the domain?

Thanks
0
 
Roebuck1967Author Commented:
YohanShminge does it again.  A million thanks!

0
 
Roebuck1967Author Commented:
YohanShminge

You have done it again.  A million thanks!
0
 
YohanShmingeCommented:
So I take it the script worked?  That's great!
0
 
Roebuck1967Author Commented:
YohanShminge,

Long time - Hope all is well.  I'm posting a new question today.
0
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.

All Courses

From novice to tech pro — start learning today.