spyder
Goto Top

Script läuft auf meinem Rechner aber auf keinem anderen

Hallo Leute,

habe hier ein Script welches auf meinem Rechner läuft(XP). Habe es auf anderen Rechnern probiert (win 2000 und XP), dort funktioniert es nicht.


Dim IP, SubNetMask, Ergebnis
Dim objServ, objAdapter

Const COMPUTER = ""
Const ADAPTERINDEX = "1"

Msgbox "IP-Adresse einstellen:"

IP = Array("xxx.xxx.xxx.xxx", "xxx.xxx.xxx.xxx")
SubNetMask = Array("255.255.255.0", "255.255.254.0")

Set objServ = _
GetObject("winmgmts://" & COMPUTER)
Set objAdapter = objServ.Get _
("Win32_NetworkAdapterConfiguration.index=" & ADAPTERINDEX)

Ergebnis = objAdapter.EnableStatic(IP, SubNetMask)

If Ergebnis = 0 Then
MsgBox "IP-Adresse(n) erfolgreich eingestellt."
Else
MsgBox "Fehler: " & Ergebnis
End If

Es kommt immer die Fehlermeldung: Fehler: 84

Kann mir jemand sagen was das bedeutet?
Oder hat jemand eine Idee warum es an meinem Rechner geht, und an anderen nicht?

Gruß Spyder

Content-ID: 39197

Url: https://administrator.de/contentid/39197

Ausgedruckt am: 05.11.2024 um 09:11 Uhr

jarod1701
jarod1701 01.09.2006 um 18:48:27 Uhr
Goto Top
Hallo,

kann es sein, dass auf den anderen Rechner keine Netzwerkkarte mit dem Index "1" vorhanden ist ? Oder, was etwas wahrscheinlicher ist, dass zwar ein entsprechender Eintrag existiert, die zugehörige Karte (oder der virtuelle Adapter) nicht "IPEnabled" ist ?


mfg,
Kevin
Guenni
Guenni 01.09.2006 um 21:05:35 Uhr
Goto Top
@Spyder

Hi,

Oder hat jemand eine Idee warum es an meinem Rechner geht, und an anderen nicht?

Ein Grund "könnte" sein:

Du hast dein Script mit einer Entwicklungsumgebung erstellt, z.B. VB, die
auf deinem PC installiert ist.

Jetzt kopierst du dein Script auf einem PC, auf dem diese Entwicklungsumgebung
NICHT installiert ist.

Also fehlen dem Script wahrscheinlich einige Bibliotheken, DLL's, auf die dein
Script auf deinem PC zurückgreifen kann, aber NICHT ein anderer PC.

Gruß
Günni
jarod1701
jarod1701 01.09.2006 um 21:40:49 Uhr
Goto Top
Halte ich für unwahrscheinlich. Das einzige, was außer reinem VBScript noch verwendet wird ist WMI, und solange der zugehörige Dienst läuft, läuft auch WMI.
Biber
Biber 02.09.2006 um 13:02:54 Uhr
Goto Top
Moin Spyder,

Der Fehler 84 ist "IP ist auf dem Adapter nicht aktiviert."

Ich würde das Script so ändern, wie es z.B. hier bei M$ skizziert ist.

'[zitert von M$-ScriptingGuy-Seiten]  
strComputer = "."  
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")  

Set colNetAdapters = objWMIService.ExecQuery _
    ("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=True")  

strIPAddress = Array("192.168.1.0")  
strSubnetMask = Array("255.255.255.0")  

For Each objNetAdapter in colNetAdapters
    errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
Next

...wobei das Wesentliche diese Einschränkung ist:
("Select * from Win32_NetworkAdapterConfiguration Where IPEnabled=True")

Deine "Prüfung" Set objAdapter = objServ.Get("Win32_NetworkAdapterConfiguration.index=" & ADAPTERINDEX) jedenfalls ist wirklich keine Garantie dafür, dass es auf irgendeinem anderen Rechner läuft.

Gruß
Biber
Spyder
Spyder 13.10.2006 um 16:58:55 Uhr
Goto Top
Leider Antworte ich erst jetzt. Aber es hat funktioniert.

Gruß Spyder
Biber
Biber 13.10.2006 um 18:02:22 Uhr
Goto Top
Moin, Spyder,

freut mich trotzdem, Deine Rückmeldung.
Kannst Du als Threadowner bitte Deine Frage auf "Gelöst" setzen?

Danke und schönes Wochenende

Biber