maxheadbang
Grünschnabel
Hallo Gemeinde
Ich habe ein Script geschrieben, das die IP-Adresse und Subnetzmaske eines WLAN- Adapters setzt. Darüber hinaus ändert es den Computernamen und die Arbeitsgruppe. Das Script habe ich auf einem Windows XP Professional PC geschrieben und getestet, wo es fehlerfrei durchläuft. Eingesetzt werden soll es aber auf Tablet-PCs auf denen Windows XP Embedded installiert ist. Und dort funktioniert es nicht. Das Umbenennen von Computername und Arbeitsgruppe erzeugt den Fehler 424. Das Ändern von IP-Adresse und Subnetzmaske erzeugt keinen Fehler, liefert aber auch nicht das gewünschte Ergebnis, denn die IP ist dieselbe wie vorher. Warum funktioniert das Script unter Windows XP Professional, aber nicht unter Windows XP Embedded? Hier der Code:
Ich hoffe Ihr könnt mir weiterhelfen
MfG Max
Ich habe ein Script geschrieben, das die IP-Adresse und Subnetzmaske eines WLAN- Adapters setzt. Darüber hinaus ändert es den Computernamen und die Arbeitsgruppe. Das Script habe ich auf einem Windows XP Professional PC geschrieben und getestet, wo es fehlerfrei durchläuft. Eingesetzt werden soll es aber auf Tablet-PCs auf denen Windows XP Embedded installiert ist. Und dort funktioniert es nicht. Das Umbenennen von Computername und Arbeitsgruppe erzeugt den Fehler 424. Das Ändern von IP-Adresse und Subnetzmaske erzeugt keinen Fehler, liefert aber auch nicht das gewünschte Ergebnis, denn die IP ist dieselbe wie vorher. Warum funktioniert das Script unter Windows XP Professional, aber nicht unter Windows XP Embedded? Hier der Code:
Code:
' Erstellen eines Regex mit dem Pattern wireless zum Suchen nach dem WLAN Adapter
Dim regEx
Set regEx = New RegExp
regEx.Pattern = "wireless"
regex.IgnoreCase = True
' Eingabe der Komputerplatznummer zum setzen des Rechnernamens und der IP
Dim RechnerPlatz
RechnerPlatz = InputBox("Bitte geben Sie die Rechnerplatznummer ein. Beispiel '07' ")
' Zusammensetzen der IP Adresse
Dim IP
IP = "192.168.0." & RechnerPlatz
arrIPAddresses = Array(IP)
arrSubnetMasks = Array("255.255.255.0")
' Zusammensetzen des Rechnernamens
Dim Rechnername
Rechnername = "Rechner" & RechnerPlatz
' Arbeitsgruppe FEW
Dim Workgroup
Workgroup = "FEW"
On Error Resume Next
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colComputers = objWMIService.ExecQuery ("Select * from Win32_ComputerSystem")
For Each objComputer in colComputers
err = ObjComputer.Rename(Rechnername)
If err <> 0 Then
Wscript.Echo "Fehler beim Umbenennen des Computers. Fehlernummer: " & err
Else
Wscript.Echo "Der Computer wurde erfolgreich umbenannt. Ein Neustart ist erforderlich."
End If
err = objComputer.JoinDomainOrWorkgroup(Workgroup,"","")
If err <> 0 Then
WScript.Echo "Fehler beim Umbenennen der Arbeitsgruppe. Fehlernummer: " & err
Else
WScript.Echo "Die Arbeitsgruppe wurde erfolgreich umbenannt. Ein Neustart ist erforderlich."
End If
Next
Set colNicConfigs = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration")
For Each objNicConfig In colNicConfigs
' Prüfen ob die Adapterbeschreibung (objNicConfig.Description) das Wort wireless enthält
If regEx.Test(objNicConfig.Description) Then
WScript.Echo objNicConfig.Description
' setzen der IP-Adresse
WScript.Echo "Bitte Warten, IP-Adresse und Subnetz werden gesetzt..."
intReturn = objNicConfig.EnableStatic(arrIPAddresses, arrSubnetMasks)
If intReturn = 0 Then
WScript.Echo "IP Adresse und Subnetz wurden gesetzt"
ElseIf intReturn = 1 Then
WScript.Echo "IP Adresse und Subnetz wurden gesetzt. Ein Neustart ist erforderlich."
Else
WScript.Echo "Konnte IP Adresse nicht setzen."
End If
End If
Next
Ich hoffe Ihr könnt mir weiterhelfen

MfG Max