Jump to content

vbs Skript zum Ändern der Netzwerkeinstellungen


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

Empfohlene Beiträge

Hallo Forum,

 

ich hab hier die Anforderung via VBSkript den Usern zu ermöglichen das Standardgateway zu wechseln und einen anderen DNS Server zu definieren. Das funktioniert auch soweit.

 

Ich stelle drei Auswahlgateways zur Verfügung die dann auch gesetzt werden.

Hier der Ausschnitt aus dem Skript für eine Option das Gateway zu ändern:

 

sub ALICE_Leitung2()
strComputer = "."
Set objWMIService = GetObject( _
   	"winmgmts:\\" & strComputer & "\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery _
   	("Select * from Win32_NetworkAdapterConfiguration " _
       & "where IPEnabled=TRUE")
strGateway = Array("192.168.66.1")
strGatewayMetric = Array(1)
strDNSservers = Array("192.168.66.20")

For Each objNetAdapter in colNetAdapters
   	errEnable = objNetAdapter.EnableStatic( _
       strIPAddress, strSubnetMask)
   	errGateways = objNetAdapter.SetGateways(_
       strGateway, strGatewaymetric)
   	errDNS = objNetAdapter.SetDNSServerSearchOrder(_
       strDNSServers)	
next
end sub

 

Wähle ich diese Option sind die Netzwerkeinstellungen korrekt geändert.

 

Nachteil an diesem Skript ist, das er diesen Eintrag dann statisch in die Netzwerkkonfiguration einträgt. Schaue ich direkt in die Netzwerkkarte sehe ich die statisch gesetzten Einträge.

 

attachment.php?attachmentid=6119&stc=1&d=1340272619

 

Problem dabei ist, das dieser Eintrag sich nicht wieder entfernen lässt. Ich habe eine dritte Option eingefügt die die Netzwerkkarte wieder via DHCP konfiguriert. Das klappt auch, die statischen Einträge bleiben aber drin und werden nicht entfernt. Hier die DHCP Option:

 

sub DHCPein()
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colNicConfigs = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")

For Each objNicConfig In colNicConfigs
If Not objNicConfig.DHCPEnabled Then
intReturn = objNicConfig.EnableDHCP
ErrorDNS = objNicConfig.SetDNSServerSearchOrder(dhcp)
objNicConfig.RenewDHCPLease
End If	
WScript.Echo VbCrLf & "DHCP Settings" & VbCrLf & VbCrLf & _
"Host Name: " & strDNSHostName & strDHCPSettings
next
end sub

 

Wie kriege ich die statischen Einträge wieder weg? Ich habe versucht das Gateway und DNS mit einem leeren String zu übergeben aber ohne Erfolg.

 

Vielleicht kann mir mal ein VBS Profi weiterhelfen.

 

Danke :)

post-2047-13567390148511_thumb.jpg

Link zu diesem Kommentar
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...