Guten Abend,
ich bin gerade dabei in VBscript ein Script zu schreiben, welches den PC-Namen ändert und den Computer in eine andere Domäne hängt. Leider klappt es nicht so ganz. Vielleicht kann mir einer von euch sagen, was ich anders machen muss.
Edit: Ich brauche auch nur ein Script oder Programm, das diese beiden Aufgaben erfüllt. Am besten mit nur einem Neustart. Da ich mich mit Batch-Programmierung nicht so gut auskenne, habe ich VBS genommen. Wenn also jemand schon mal so etwas gemacht hat, würde ich mich über Ratschläge freuen.
ich bin gerade dabei in VBscript ein Script zu schreiben, welches den PC-Namen ändert und den Computer in eine andere Domäne hängt. Leider klappt es nicht so ganz. Vielleicht kann mir einer von euch sagen, was ich anders machen muss.
Code:
Sub aendern()
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
strDomain = "gruppe" '<DOMAIN NAME>
strUser = "User" '<UserName>
strPassword = "password123" '<ADMIN PASSWORD>
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=My_Computer_OU,DC=mycorp,dc=com, _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
End Sub
Edit: Ich brauche auch nur ein Script oder Programm, das diese beiden Aufgaben erfüllt. Am besten mit nur einem Neustart. Da ich mich mit Batch-Programmierung nicht so gut auskenne, habe ich VBS genommen. Wenn also jemand schon mal so etwas gemacht hat, würde ich mich über Ratschläge freuen.
Zuletzt bearbeitet:
(Ergänzung)