Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations gkittelson on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

Rename and Join to Domain with Service Tag

Status
Not open for further replies.

nlpeep

MIS
Feb 16, 2009
1
DE
Hello All,

As I'm rather clueless with VB script I'm hoping someone might be able to help. I need a script to rename a computer with the Dell Service Tag and then join to a domain (without reboots in between). I have the following two scripts, can anyone piece them together for me please? Because the computer name will be the service tag I don't need the input box that's included in the second script

Obtain Service Tag:

'
on error resume next
strComputer = "."
Set objWMIservice = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
set colitems = objWMIservice.ExecQuery("Select * from Win32_BIOS",,48)
For each objitem in colitems
Wscript.echo "Dell Service Tag: " & objitem.serialnumber
Next
'

Rename and Join to domain:

Const JOIN_DOMAIN = 1
Const ACCT_CREATE = 2
Const ACCT_DELETE = 4
Const WIN9X_UPGRADE = 16
Const DOMAIN_JOIN_IF_JOINED = 32
Const JOIN_UNSECURE = 64
Const MACHINE_PASSWORD_PASSED = 128
Const DEFERRED_SPN_SET = 256
Const INSTALL_INVOCATION = 262144
Dim message
Dim IP


Set objNetwork = CreateObject("WScript.Network")
strComputer = objNetwork.ComputerName

Set objWMIService = GetObject ("winmgmts:" & "!\\" & strComputer & "\root\cimv2")
Set colAdapters = objWMIService.ExecQuery ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled = True")

title = "Join computer to domain"
message = "Please enter computer name. Leave blank or press cancel to quit. & vbCrLf & vbCrLf & "Generated name: " & generatedName
newComputerName = InputBox(message, title)


If newComputerName = "" Then
Wscript.quit
End If

areYousure = MsgBox("Are you sure you want t0 add computer to domain with name:" & vbCrLf & vbCrLf & newComputerName, vbYesNo + vbQuestion,"Add computer to domain")

If areYouSure = "7" Then
MsgBox "Exiting script.",vbInformation
Wscript.quit
End If

Set objComputer = GetObject("winmgmts:{impersonationLevel=Impersonate}!\\" & _
strComputer & "\root\cimv2:Win32_ComputerSystem.Name='" & _
strComputer & "'")

ReturnValue = objComputer.JoinDomainOrWorkGroup(strDomain, strPassword, strDomain & "\" & strUser, "ou=Staged,DC=intra,dc=local", _
JOIN_DOMAIN + ACCT_CREATE)

If ReturnValue = 0 Then
MsgBox "Computer added to domain under old name without error. proceeding to change computer name. "
Else
MsgBox "Computer not added to domain successfully. Return value: " & ReturnValue
End If

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colComputers = objWMIService.ExecQuery _
("Select * from Win32_ComputerSystem")


For Each objComputer in colComputers
MsgBox "About to rename computer to: " & newComputername
ErrCode = objComputer.Rename(newComputerName, strPassword, strUser)
If ErrCode = 0 Then
MsgBox "Computer renamed correctly."
Else
MsgBox "Eror changing computer name. Error code: " & ErrCode
End If

Next

Thanks in advance!!!
 
Replace this:
newComputerName = InputBox(message, title)
with this:
newComputerName = objitem.serialnumber

Hope This Helps, PH.
FAQ219-2884
FAQ181-2886
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top