VBScript beim Start von XP
Hallo zusammen,
Hab mal wieder ein Problem bei dem ich auf eure Unterstützung hoffe.
Ich hab mich mal an VBS Skripte gewagt und bin deshalb ein Frischling auf dem Gebiet.
Der Computername sollte per vbs inputbox unbenannt werden.
Der Teil war kein Problem da hier im Forum schon mal danach gefragt wurde.
Also hab ich mir den Code beschnappt und ihn ein wenig verändert.
Bei mir sollte das Skript als Shell Start von XP ausgeführt werden.
Klappt auch wunderbar mit der Hilfe von cscript.exe.
Eintrag unter: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Shell
cscript.exe c:\test.vbs
Nun aber mein Problem das Script soll nachdem der Computername gesetzt wurde den Eintrag in der Registry wieder ändern.
z.B. wieder in explorer.exe
Hab das meine ich auch richtig gemacht.
Es funktioniert zumindest alles wenn XP "normal" mit der explorer.exe gestartet ist.
Es funktioniert aber nicht wenn in der Shell das VBScript eingetragen ist.
(Den Neustart hab ich mal zu testzwecken abgeklemmt)
Ich hoffe Ihr könnt mir helfen.
Jeder Vorschlag ist Willkommen.
Hab mal wieder ein Problem bei dem ich auf eure Unterstützung hoffe.
Ich hab mich mal an VBS Skripte gewagt und bin deshalb ein Frischling auf dem Gebiet.
Der Computername sollte per vbs inputbox unbenannt werden.
Der Teil war kein Problem da hier im Forum schon mal danach gefragt wurde.
Also hab ich mir den Code beschnappt und ihn ein wenig verändert.
Bei mir sollte das Skript als Shell Start von XP ausgeführt werden.
Klappt auch wunderbar mit der Hilfe von cscript.exe.
Eintrag unter: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Shell
cscript.exe c:\test.vbs
Nun aber mein Problem das Script soll nachdem der Computername gesetzt wurde den Eintrag in der Registry wieder ändern.
z.B. wieder in explorer.exe
Hab das meine ich auch richtig gemacht.
Es funktioniert zumindest alles wenn XP "normal" mit der explorer.exe gestartet ist.
Es funktioniert aber nicht wenn in der Shell das VBScript eingetragen ist.
Option Explicit
Dim ws, t, p2, p3, p4, p5, n, g, j, h, f, k, cn, cg, cj
Set ws = WScript.CreateObject("WScript.Shell")
Dim itemtype
p2 = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\ComputerName\ComputerName\"
p3 = "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip\Parameters\"
p4 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ComputerName\ComputerName\"
p5 = "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\"
j = ws.RegRead(p2 & "ComputerName")
h = ws.RegRead(p3 & "NV Hostname")
f = ws.RegRead(p4 & "ComputerName")
k = ws.RegRead(p5 & "NV Hostname")
t = "Change Utility"
cj = InputBox("Geben Sie den neuen Computernamen an und klicken auf OK." & vblf & "!! ACHTUNG !! Nach dem klicken auf OK wird der Computer SOFORT neugestartet!", t, j)
If cj <> "" Then
ws.RegWrite p2 & "ComputerName", cj
ws.RegWrite p3 & "NV Hostname", cj
ws.RegWrite p4 & "ComputerName", cj
ws.RegWrite p5 & "NV Hostname", cj
ws.Run "regedit /s test.reg"
'Ws.Run "shutdown.exe -r -f -t 0 -c ""Windows XP wird neu gestartet""", 1, False
End If
Ich hoffe Ihr könnt mir helfen.
Jeder Vorschlag ist Willkommen.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 164831
Url: https://administrator.de/contentid/164831
Ausgedruckt am: 23.11.2024 um 01:11 Uhr
5 Kommentare
Neuester Kommentar
Hi,
kann ja auch nicht funktionieren, denn weder cscript noch dein VBS-File ist eine Shell.
Oder meinst du, dass CSCRIPT Regedit starten kann?
Gruß
moin,
so gern ich in der Registry rumfummel, aber da hört der Spass auf und der Ernst fängt an.
Außerdem sind einzeiler einfach schöner
Gruß
so gern ich in der Registry rumfummel, aber da hört der Spass auf und der Ernst fängt an.
Außerdem sind einzeiler einfach schöner
netdom renamecomputer %computername% /newname:neuername /userD:meinedomäne\administrator /passwordd:* /usero:administrator /passwordo:* /force /reboot:60
Gruß