Jump to content

Netzwerkeinstellungen über vbs Script ändern


Gast
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,

 

ich hab mir ein Script geschrieben um die Netzwerkeinstellungen zu ändern.

 

' IPKonfig.vbs


cname      = "" ' Name des Zielrechners (leer = lokal)
strIP      = "10.10.0.104" ' statische Wunschadresse kann hiervorgegeben werden
strSubnet  = "255.255.255.0"   ' ebenso die Wunsch-Sbunetmaske
strGateway = "10.0.0.254"
strDNS = "195.3.96.68"

strTitel = "IPKonfig 1.1"

Set wmi = GetObject("winmgmts:\\" & cname)

strFrage = "Was soll ich tun?" & vbCrLf
strFrage = strFrage & vbCrLf & "1: DHCP aktivieren"
strFrage = strFrage & vbCrLf & "2: statische Adresse setzen"
strFrage = strFrage & vbCrLf & "3: komplette Konfiguration anzeigen"


tuwas = inputBox(strFrage & vbCrLf, strTitel, "Bitte Ziffer eingeben!")

strMeldung = ""

select case tuwas
      case 1 DHCPein
      case 2 statAdr
      case 3 infoKomplett
end select

strMeldung = strMeldung & vbCrLf & vbCrLf & "--> Aktuelle Einstellungen:" & vbCr & ReportIPSettings(wmi) 
msgBox strMeldung, , strTitel

sub DHCPein()
   ' Funktion:
   ' Eingabeparameter:
   ' Kommentar:
   ' DHCP aktivieren
   If EnableDHCP(wmi) Then
      strMeldung = "DHCP aktiviert!"
      wscript.sleep 1000
   Else
      strMeldung = "DHCP konnte nicht aktiviert werden."
   End If

end sub


sub statAdr()
   ' Funktion:
   ' Eingabeparameter:
   ' Kommentar:

   strIP = inputBox("Welche IP-Adresse?",strTitel,strIP)
   strSubnet = inputBox("Welche Subnet-Mask?",strTitel, strSubnet)
strGateway = inputBox ("Welchen Gateway?" ,strTitel, strGateway)
strDNS = inputBox ("Welchen DNS Server?" ,strTitle, strDNS)

   if EnableStatic(wmi, strIP, strSubnet, strGateway, strDNS) Then
      strMeldung = "Statische Adresse übernommen!"
   Else
      strMeldung = "IP konnte nicht statisch gesetzt werden."
   End If

end sub

Function EnableDHCP(wmiobj)
  wql = "select * from win32_NetworkAdapterConfiguration where IPEnabled = true"
  Set ergebnis = wmiobj.ExecQuery(wql)
  For each karte in ergebnis
     If IsArray(karte.IPAddress) Then
        status = karte.EnableDHCP
        EnableDHCP = (status = 0)
     End If
  Next
End Function

Function EnableStatic(wmiobj, ip, subnet, gateway, dns)
  wql = "select * from win32_NetworkAdapterConfiguration where IPEnabled = true"
  Set ergebnis = wmiobj.ExecQuery(wql)
  For each karte in ergebnis
     If IsArray(karte.IPAddress) Then
        status = karte.EnableStatic(Array(ip), Array(subnet), Array(gateway), Array(dns))
        EnableStatic = (status = 0)
     End If
  Next
End Function

Function ConvertToStatic(wmiobj)
  wql = "select * from win32_NetworkAdapterConfiguration where IPEnabled = true"
  Set ergebnis = wmiobj.ExecQuery(wql)
  For each karte in ergebnis
     If IsArray(karte.IPAddress) Then
        If karte.DHCPEnabled = False Then
           ConvertToStatic = False
           Exit Function
        End If
        status = karte.EnableStatic(Array(karte.IPAddress(0)), Array(karte.IPSubnet(0)), Array(karte.Gateway(0)), Array(karte.IPDNS(0)) )
        ConvertToStatic = (status = 0)
     End If
  Next
End Function



Function ReportSettings(wmiobj)
  wql = "select * from win32_NetworkAdapterConfiguration where IPEnabled = true"
  Set ergebnis = wmiobj.ExecQuery(wql)
  For each karte in ergebnis
     If IsArray(karte.IPAddress) Then
        ReportSettings = ReportSettings & karte.getObjectText_ & vbCrLf
     End If
  Next
End Function


Function ReportIPSettings(wmiobj)
  wql = "select Caption, DHCPEnabled, DHCPLeaseObtained, DHCPLeaseExpires, DHCPServer, IPAddress, IPSubnet, DefaultIPGateway, DNSServerSearchOrder, DNSDomain, MACAddress from win32_NetworkAdapterConfiguration where IPEnabled = true"
  Set ergebnis = wmiobj.ExecQuery(wql)
  For each karte in ergebnis
     If IsArray(karte.IPAddress) Then
        ReportIPSettings = ReportIPSettings & karte.getObjectText_ & vbCrLf
     End If
  Next
End Function

sub infoKomplett()
   ' Funktion:
   ' Eingabeparameter:
   ' Kommentar:
   strText = ReportSettings(wmi)
   strText = Replace(strText, vbLf, "<BR>" & vbCrLf)
   Set objExplorer = WScript.CreateObject("InternetExplorer.Application")
   objExplorer.Navigate "about:blank"
   objExplorer.ToolBar = 0
   objExplorer.StatusBar = 0
   objExplorer.Width=500
   objExplorer.Height = 400
   objExplorer.Left = 0
   objExplorer.Top = 0
   objExplorer.Visible = 1
   objExplorer.document.writeln "<html><title>" & strTitel & "</title><body><p style=""font-family:sans-serif;font-size:9pt;""><a href=""javascript:this.close();"">schließen</A><BR><B>Netzwerkkarte: Komplette Information</B><BR>" & strText & "</P></body></html>"

   wscript.quit

end sub

Geschrieben

sorry aber nur max 5000 zeichen ;-)

 

wenn ich dhcp wähle funktioniert alles ohne probleme

 

wenn ich statisch wähle funktioniert alles ausser gateway und dns server

 

 

würde mich über hilfe sehr freuen

Geschrieben

Deine Adresse und Dein Gateway liegen nicht im selben Subnetz. Bei der von Dir verwendeten Subnetzmaske dürfen sich die Adressen nur im letzten Oktett unterscheiden. Sollen die Adressen beibehalten werden, mußt Du die Subnetzmaske auf 255.0.0.0 ändern.

Dann sollte auch Dein DNS-Server funktionieren.

Viel Glück,

Frauke

Geschrieben

Danke für deine Antwort ;)

 

 

Ich habe das jetzt geändert.

 

Leider habe ich nur immer das Problem, dass der Gateway und der DNS Server nicht von dem Programm an das Windows übergeben wird.

  • 3 Wochen später...
Geschrieben

Hi, benötige ein Programm ca. so wie oben.

Es soll jedoch beim Ausführen die Ip-Adresse automatisch (also so wie im Programm festgelegt) ändern. Alle anderen Einstellungen können gleich bleiben. Kann mir da wer helfen ?

 

Danke für alle Informationen

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...