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

Geschrieben

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

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...