Hallo,
ich habe mir ein Script geschrieben um einige Netzwerkeinstellungen zu ändern
DHCP, statische IP,...
so schaut das Script aus:
Code:
' IP.vbs
cname = "" ' Name des Zielrechners (leer = lokal)
strIP = "10.0.2.5" ' statische Wunschadresse kann hiervorgegeben werden
strSubnet = "255.255.255.0" ' ebenso die Wunsch-Sbunetmaske
strGateway = "10.0.0.1"
strDNS = "195.3.96.68"
strTitel = "ip"
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.DefaultIPGateway(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, "
" & 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;"">schließen
Netzwerkkarte: Komplette Information
" & strText & "</P></body></html>"
wscript.quit
end sub
auf DHCP setzen funktioniert ohne Probleme
Wenn ich die statische IP setzen will wird der Gateway und der DNS Server nicht in Windows übergeben.
Das heist wenn ich dann über ipconfig mir anschaue ob der Gateway oder der DNS Server eingetrage ist. Steht dort nicht der Gateway oder der DNS Server.
Ich würde mich sehr über hilfe sehr freuen.