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-Key: 39197

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

Printed on: April 20, 2024 at 00:04 o'clock

Member: jarod1701
jarod1701 Sep 01, 2006 at 16:48:27 (UTC)
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
Member: Guenni
Guenni Sep 01, 2006 at 19:05:35 (UTC)
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
Member: jarod1701
jarod1701 Sep 01, 2006 at 19:40:49 (UTC)
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.
Member: Biber
Biber Sep 02, 2006 at 11:02:54 (UTC)
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
Member: Spyder
Spyder Oct 13, 2006 at 14:58:55 (UTC)
Goto Top
Leider Antworte ich erst jetzt. Aber es hat funktioniert.

Gruß Spyder
Member: Biber
Biber Oct 13, 2006 at 16:02:22 (UTC)
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