Jump to content

Subnet-Maske per vbs-Script ändern


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Tach auch,

 

hier ein Script von MS. Hat bei mir funktioniert.

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set colNetAdapters = objWMIService.ExecQuery _

("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

 

strIPAddress = Array("192.168.1.141")

strSubnetMask = Array("255.255.255.0")

strGateway = Array("192.168.1.100")

strGatewayMetric = Array(1)

 

For Each objNetAdapter in colNetAdapters

errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)

errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)

If errEnable = 0 Then

WScript.Echo "The IP address has been changed."

Else

WScript.Echo "The IP address could not be changed."

End If

Next

 

Gruß

THUMB

Geschrieben

Hallo THUMB,

 

dieses Script ist mir schon bekannt - vielen Dank.

 

Das Script soll die bestehende IP-Adresse weiter übernehmen - ohne manuelle Vorgabe (strIPAddress = Array("192.168.1.141") ).

 

Einzige Eingabe durch das Script: strSubnetMask = Array("255.255.0.0").

 

Gruß

xero

Geschrieben

Tach auch,

 

tja, wie wäre es, diese vorher auszulesen:

 

Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each IPConfig In IPConfigSet

If Not IsNull(IPConfig.IPAddress) Then

For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)

IPADDRESS = IPConfig.IPAddress(i)

MsgBox IPADDRESS

Next

End If

Next

 

Gruß

THUMB

Geschrieben

Hallo THUMB,

 

das ist genau mein Problem - sorry. Ich kann beide Scripte nicht miteinander kombinieren :mad: . Nach dem Motto: Lies mir die (alle) IP-Adresse(n) und Subnet-Maske(n) aus. Danach ändere nur die Subnet-Maske(n) ...

# # # Script # # #

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set colNetAdapters = objWMIService.ExecQuery _

("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

 

Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each IPConfig In IPConfigSet

If Not IsNull(IPConfig.IPAddress) Then

For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)

IPADDRESS = IPConfig.IPAddress(i)

'MsgBox IPADDRESS

'Next

End If

'Next

 

strIPAddress = Array(IPADDRESS)

strSubnetMask = Array("255.255.0.0")

'strGateway = Array("192.168.1.100")

'strGatewayMetric = Array(1)

 

For Each objNetAdapter in colNetAdapters

errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)

'errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)

If errEnable = 0 Then

WScript.Echo "The IP address has been changed."

Else

WScript.Echo "The IP address could not be changed."

End If

Next

# # # Script-Ende # # #

 

Ergebnis: Fehlerabbruch in Zeile 15 - Anweisung erwartet (Fehler)

 

Gruß

xero

Geschrieben

Hallo xero,

 

hmmm..., ich habe die Scripte ebenfalls zusammengeführt und bei verschiedenen Rechnern getestet, es funktioniert. Hier der verwendete Code:

 

# # # Script # # #

 

Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

For Each IPConfig In IPConfigSet

If Not IsNull(IPConfig.IPAddress) Then

For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)

IPADDRESS = IPConfig.IPAddress(i)

 

Next

End If

Next

 

strComputer = "."

Set objWMIService = GetObject("winmgmts:" _

& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

 

Set colNetAdapters = objWMIService.ExecQuery _

("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

 

strIPAddress = Array(IPADDRESS)

strSubnetMask = Array("255.255.255.0")

'strGateway = Array("192.168.1.100")

'strGatewayMetric = Array(1)

 

For Each objNetAdapter in colNetAdapters

errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)

errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)

If errEnable = 0 Then

WScript.Echo "The IP address has been changed."

Else

WScript.Echo "The IP address could not be changed."

End If

Next

 

# # # Script-Ende # # #

 

Gruß THUMB

Geschrieben

Hallo xero,

 

Du hast bei Deinem Script zweimal NEXT zuviel auskommentiert, das ist die Ursache des Abbruches. Guck, diese Stelle mein´ ich:

 

'MsgBox IPADDRESS

'Next

End If

'Next

 

Wenn Du die beiden NEXT wieder zulässt, geht´s.

 

Gruß

THUMB

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...