Jump to content
Sign in to follow this  
The damn SouL

Netzwerkeinstellungen über vbs Script ändern

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...