Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

IP Config über vbs setzen

Mitglied: capct1

capct1 (Level 1) - Jetzt verbinden

11.09.2007, aktualisiert 16.10.2007, 8391 Aufrufe, 8 Kommentare

Hallo, ich möchte über ein VBS-Script die IP Configuration von einem/mehreren Rechnern schnell und ohne Tippfehler vornehmen.
Ich habe da schon einiges hinbekommen, aber nun hab ich beim setzen der Werte so meine Probleme. Evt. kann mir jemand helfen, denke das wir auch noch andere Interessieren.

'Konfiguration der festen Werte
IPFW1 = "193.31.235." ' IP-Adresse FW1
IPFW2 = "172.16.14." ' IP-Adresse FW2
IPFW3 = "172.16.11." ' IP-Adresse FW3

'Dim strSubnet
' strSubnet = "255.255.255.0"



strGatewayFW1 = "193.31.235.229" ' Gateway FW1
strGatewayFW2 = "172.16.14.229" ' Gateway FW2
strGatewayFW3 = "172.16.14.229" ' Gateway FW3


strSubnet = Array("255.255.255.0") ' Subnetzmask
strDNS = Array("193.31.224.2","172.16.224.2","192.168.0.1") ' DNS-Server
strPWINS = "193.31.224.2" ' Primary Wins
strSWINS = "172.16.224.2" ' Secondary Wins

'Ende der festen Werte

'Komponenten Name ermitteln
Public Pc
Set WshNetwork = WScript.CreateOBject("WScript.Network")
pc = WshNetwork.Computername

'NicIndex der Netzwerkkarten ermitteln
Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
text = text & vbcrlf & IPConfig.Caption & vbcrlf & "Index: " & IPConfig.Index & vbcrlf
Next
End If
Next

'NicIndex der Netzwerkkarte auswählen (wird vorher angezeigt)
Public NicIndex
NicIndex = InputBox("Netzwerkkarte(n) von: " & Pc & vbcrlf & text & vbcrlf & "Geben Sie hier den Index der zu Konfigurierenden Netzwerkkarte ein:" , "Administration", "")
If NicIndex = 0 Then
wscript.quit
Else
' MsgBox "Ihr eingegebener NicIndex" & vbcrlf & "zur Konfiguration ist: " & vbcrlf & NicIndex,vbExclamation , "Administration"
End If

'IP Adresse die letzte 1/2/3 Ziffern
Public ip
ip = InputBox("Geben Sie hier die IP Adresse ein.","Administration")
If ip = 0 Then
wscript.quit
Else
' MsgBox "Ihr eingegebene IP " & vbcrlf & "zur Konfiguration ist: " & vbcrlf & ip,vbExclamation , "Administration"
End If

'Feuerwache auswählen
strFrage = "Welches Netz möchten Sie nutzen?" & vbCrLf
strFrage = strFrage & vbCrLf & "1: Feuerwache 1"
strFrage = strFrage & vbCrLf & "2: Feuerwache 2"
strFrage = strFrage & vbCrLf & "3: Feuerwache 3"
'strFrage = strFrage & vbCrLf
'strFrage = strFrage & vbCrLf & "9: config"

ipfw = inputBox(strFrage & vbCrLf, "Administration", "Bitte Ziffer eingeben!")
If ipfw = 1 Then
ipfw = IPFW1
ElseIf ipfw = 2 Then
ipfw = IPFW2
ElseIf ipfw = 3 Then
ipfw = IPFW3
Else
wscript.quit
End If

'NicIndex mit IPConfig vergleichen und den Namen (IPConfig.Caption) der gewählten Karte anzuzeigen
For Each IPConfig In IPConfigSet
If (":" & IPConfig.Index = ":" & NicIndex) Then
NicName = IPConfig.Caption
'MsgBox IPConfig.Index & " " & NicIndex
End If
Next

'MsgBox "Diese IP: "& vbcrlf & ipfw & ip & vbcrlf & "wird auf folgender Netzwerkkarte: "& vbcrlf & NicName & vbcrlf & vbcrlf & "konfiguriert.", vbExclamation , "BF-Wiesbaden Administration"
MsgBox "Für den Rechner: " & pc & vbcrlf & "wird die Netzwerkkarte:" & vbcrlf & NicName & vbcrlf & "mit folgender Daten:" & vbcrlf & "IP-Adresse: " & ipfw & ip & vbcrlf & "konfiguriert.", vbExclamation , "BF-Wiesbaden Administration"

'Ab hier test zum Daten schreiben

MsgBox "hier weiter"
conf = ipfw & ip
Set WshShell = CreateObject("Wscript.Shell")
ProxyEnable="HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\ProxyEnable"
wql = "Select * from win32_NetworkAdapterConfiguration Where IPEnabled=True"
Set oWMI = GetObject("winmgmts:\root\cimv2").ExecQuery(wql)

test = MsgBox ("Wollen Sie die Installation ausführen ?", 49 , "BF-Wiesbaden Administration")
If test <> 1 Then
wscript.quit
Else
For Each IPConfig In IPConfigSet
If (":" & IPConfig.Index = ":" & NicIndex) Then
WshShell.regwrite ProxyEnable,"00000001","REG_DWORD"
IPConfig = EnableStatic(Array(conf), Array(strSubnet))
'MsgBox ""& karte
End If
Next
End If


MsgBox "ende"
wscript.quit

Die Probleme habe ich ab dem Punkt "test zum Daten schreiben.
Ich muß dazu sagen, das ich in Punkto VBS absoluter Neuling bin. (Hoffe mann sieht es nicht so deutlich, und ich bin hier in der richtigen Rubrik)
Vielen Dank
Gruß
Capct
Mitglied: SvenGuenter
24.09.2007 um 10:55 Uhr
was für probleme hast du denn genau? Kommt eine Fehlermeldung? Ich habe mir den Quellcode nicht genau angesehen. Aber es ist auch schlecht was zu suchen von dem man nicht weiß was es ist ;o)


Gruß

Sven
Bitte warten ..
Mitglied: capct1
24.09.2007 um 14:38 Uhr
Hallo Sven,
erst mal danke das du dir das mal angesehen hast.
Ab dem Punkt MsgBox"hier weiter" verstehe ich das ganze nicht mehr so richtig.
Das problem ist wohl die Zeile"IPConfig = EnableStatic(Array......" hier wird wohl die IP Adresse
geschrieben, weiter gehts dann noch mit dem Subnet und Gateway.
Der Anfang mit den Msgboxen usw. habe ich ja noch auf die Reihe gebracht, aber nun komme ich halt nicht weiter.
Gruß
Carsten
Bitte warten ..
Mitglied: SvenGuenter
24.09.2007 um 15:04 Uhr
Hallo,

nochmal nachgefragt FUNKTIONIERT der Quellcode oder wird eine Fehlermeldung geworfen ( ausgegeben ).
Oder geht es Dir nur um die Funktionsweise des Quellcodes.
Bitte warten ..
Mitglied: capct1
24.09.2007 um 16:08 Uhr
Sorry,
es kommt die Standartmeldung "Typen unverträglich"
Bitte warten ..
Mitglied: SvenGuenter
24.09.2007 um 16:21 Uhr
Gut dann weiß ich da schon mal bescheid.

Die letzte Frage die ich nun noch habe ist das Netzwerk.

Innerhalb des Netzwerkes werden die oben im Quellcode angegebenen Werte benutzt und es ist KEIN DHCP Server vorhanden.
Bitte warten ..
Mitglied: capct1
25.09.2007 um 10:12 Uhr
Hallo Sven,
nein, es wird kein DHCP-Server verwendet.
Das ganze ist ein städtisches Netzwerk welches von einer externen Firma betreut wird.
Allerding haben wir als Amt 37 unsere Server noch im Haus stehen.
Kommen nun neue Clients stimmen in der Regel die ganzen Neztwerkparameter nicht,
da auch ich hier und da Tippfehler habe möchte ich das ganze über dieses Script regeln.
So ist auch sicher das alle Rechner gleich konfiguriert sind.
Sorry das ich jetzt erst Antworte, hatte gestern zu Hause noch einen Stromausfall.
Bin nun heute wieder arbeiten. Hier kann ich auch Zugreifen.
Gruß und Danke
Carsten
Bitte warten ..
Mitglied: SvenGuenter
25.09.2007 um 10:37 Uhr
Hallo Carsten,

also erstmal muss ich sagen das ich auf Anhieb keinen Fehler sehe oder finde. Problem ist aber auch das du nicht den kompletten Quellcode gepostet hast. Sprich wie du die Funktionen aufrufst wie deine main die abarbeitet usw. Bitte Maile mir doch mal den kompletten Quellcode an


Sven.Guenter@Sven-Guenter.com
Bitte warten ..
Mitglied: capct1
16.10.2007 um 20:24 Uhr
Hallo Sven und dem Rest der Mitleser,
mit Hilfe eines Kollegen habe ich nun einen funktionierenden Code.
Für Interessierte, hier ist er:
(Ach ja, die IP Adressen sin Fiktiv, zum testen am besten eine VMWare System verwenden,
schon den eigenen Rechner und die Nerven)


Dim strIPFW(3)
Dim strGatewayFW(3)

' Beginn DER KONFIGURATION
strTitel = "Admin IPConfig 1.0"
strIPFW(1) = "193.31.235." ' IP-Adresse Gebäude 1
strIPFW(2) = "172.16.14." ' IP-Adresse Gebäude 2
strIPFW(3) = "172.16.11." ' IP-Adresse Gebäude 3




strGatewayFW(1) = "193.40.235.222" ' Gateway Gebäude 1
strGatewayFW(2) = "172.20.30.229" ' Gateway Gebäude 2
strGatewayFW(3) = "172.20.40.229" ' Gateway Gebäude 3

strSubnet = Array("255.255.255.0") ' Subnetzmask'
strDNS = Array("193.40.224.2","172.20.224.2","192.168.0.1") ' DNS-Server
strPWINS = "193.10.322.2" ' Primary Wins
strSWINS = "172.10.322.2" ' Secondary Wins


' ENDE DER KONFIGURATION

'Komponenten Name ermitteln
Set WshNetwork = WScript.CreateOBject("WScript.Network")
pc = WshNetwork.Computername

'NicIndex der Netzwerkkarten ermitteln
Set IPConfigSet = GetObject("winmgmts://.").ExecQuery("select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")



' Alle Karten auflisten
For Each IPConfig In IPConfigSet
If Not IsNull(IPConfig.IPAddress) Then
For i=LBound(IPConfig.IPAddress) To UBound(IPConfig.IPAddress)
'text = text & IPConfig.Index & ":" & Chr(9) & IPConfig.Caption & vbcrlf
text = text & vbcrlf & "Index: " & IPConfig.Index & vbcrlf & IPConfig.Caption & vbcrlf
Next
End If
Next
'NicIndex der Netzwerkkarte auswählen (wird vorher angezeigt)
text = "Netzwerkkarte(n) von: " & Pc & vbcr & linie & vbcr & text
text = text & vbcr & linie & "Geben Sie hier den Index der zu Konfigurierenden Netzwerkkarte ein:"
NicIndex = InputBox( text, strTitel , "")
If NicIndex = 0 Then wscript.quit

'Feuerwache auswählen
strFrage = "Welches Netz möchten Sie nutzen?" & vbCrLf
strFrage = strFrage & vbCrLf & "1: Gebäude 1"
strFrage = strFrage & vbCrLf & "2: Gebäude 2"
strFrage = strFrage & vbCrLf & "3: Gebäude 3"
strFrage = strFrage & vbCrLf & ""

fw = inputBox(strFrage & vbCrLf, strTitel , "Bitte Ziffer eingeben!")
If fw=0 Then wscript.quit

'IP Adresse die letzte 1/2/3 Ziffern
ip = InputBox("Geben Sie hier denn letzten Block Ihrer IP Adresse ein.",strTitel)
If ip = 0 Then wscript.quit
conf = strIPFW(fw)+ ip
'MsgBox conf

'"Karte" ermitteln (NicIndex mit IPConfig vergleichen)
For Each Karte In IPConfigSet
If (":" & Karte.Index = ":" & NicIndex) Then Exit For
Next

text = "Für den Rechner: " & pc & vbcrlf & "wird die Netzwerkkarte:" & vbcrlf & Karte.Caption & vbcrlf & "mit folgender Daten:"_
& vbcrlf & "IP-Adresse:" & vbtab & conf & vbcrlf & "Gateway:" & vbtab & vbtab & strGatewayFW(fw) & vbcrlf &_
"DNS:" & vbtab & vbtab & strDNS (DNSSeverSearchOrder)_
& vbcrlf & "Pri.WINS:" & vbtab & vbtab & strPWINS & vbcrlf & "Sec.WINS:" & vbtab & strSWINS & vbcrlf & "konfiguriert."

x = MsgBox(text, 49 , strTitel)
If x <> vbok Then wscript.quit

' IPs in "Karte" schreiben, dabei Fehler abfangen und Erfog ausgeben
'Fehler1 = karte.EnableStatic(Array(ip), strSubnet)
Fehler1 = karte.EnableStatic(Array (conf) , strSubnet)
Fehler2 = karte.SetGateways(Array(strGatewayFW(fw)), Array(1))
Fehler3 = karte.SetDNSServerSearchOrder(strDNS)
Fehler4 = Karte.SetWINSServer(strPWINS,strSWins)
If Fehler1 = 0 Then
strMeldung = strmeldung & "Netzwerkadresse" & vbtab & "für FW " & fw & " erfolgreich eingerichtet." & vbcrlf
Else
strMeldung = strmeldung & "Netzwerkadresse" & vbtab & "für FW " & fw & " Fehler " & fehler1 & vbcrlf
End if
If Fehler2 = 0 Then strMeldung = strmeldung & "NetzwerkGateway" & vbtab & "für FW " & fw & " erfolgreich eingerichtet." & vbcrlf
If Fehler3 = 0 Then strMeldung = strmeldung & "Netzwerk-DNS" & vbtab & "für FW " & fw & " erfolgreich eingerichtet." & vbcrlf
If Fehler4 = 0 Then strMeldung = strmeldung & "Netzwerk-Wins" & vbtab & "für FW " & fw & " erfolgreich eingerichtet." & vbcrlf

'MsgBox strmeldung, 48 , strTitel

Set wmi = GetObject("winmgmts:\\" )
strEinstellungen = strEinstellungen & vbCrLf & vbCrLf & "--> Aktuelle Einstellungen:" & vbCr & ReportIPSettings(wmi)
msgBox strmeldung & strEinstellungen , 48 , strTitel

wscript.quit

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

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


So, sollte jemand eine Verbesserung haben würde ich mich freuen.
Als nächstes sollte der Punkt DHCP und statische IP´s ins Menü mit rein.
Gruß
Capct
Bitte warten ..
Ähnliche Inhalte
Netzwerkmanagement

Running-Config oder Startup-Config bei Cisco-Geräten sichern?

gelöst Frage von M.MarzNetzwerkmanagement9 Kommentare

Hallo zusammen, ich möchte gerne die Konfigs meiner Cisco-Switche sichern. In google finde ich immer wieder die Anleitung das ...

Linux

Slapd mit config File

gelöst Frage von schneerunzelLinux1 Kommentar

Hallo zusammen, seit einiger Zeit liegt die Config für den OpenLDAP Server ja im LDAP selbst. Das ist für ...

Ubuntu

Postfix Relay config

Frage von bolle01Ubuntu3 Kommentare

Moin, ich bin gerade dabei zu Testzwecken eine komplette Serverlandschaft via Linux abzubilden. Der DC funktioniert ohne Probleme deshalb ...

Router & Routing

Firewalls mit Konzept - Bootfest speichern - copy running-config startup-config

Frage von Der-PhilRouter & Routing17 Kommentare

Hallo! Ich schaue gerade, welche Router-Firewalls für mich künftig in Frage kommen. Wichtig ist vor allem die Kombination aus ...

Neue Wissensbeiträge
E-Mail
Email-Apps und Verhalten bei Pop3
Erfahrungsbericht von kfranzk vor 8 StundenE-Mail3 Kommentare

Hallo Freunde, da mir mein diesbezüglicher Faden als gelöst markiert wurde, muss ich hier neu aufsetzen. Ich arbeite bewusst ...

Hyper-V

Optimiertes Ubuntu per Microsoft Hyper-V-Schnellerstellung verfügbar

Anleitung von Frank vor 10 StundenHyper-V

Für Microsofts Virtualisierungssoftware Hyper-V ist ab sofort auch ein optimiertes Ubuntu 18.04.1 LTS verfügbar. In der "Hyper-V-Schnellerstellung" App, die ...

Sicherheits-Tools

Trend Micro WorryFree Business Security (WFBS) 10 - neuer Patch 1470 verfügbar

Tipp von VGem-e vor 13 StundenSicherheits-Tools1 Kommentar

Servus, mal sehen, ob mit Patch 1470, zu finden unter dann die angeblich fehlerhafte Funktion, die unter W10 im ...

Server-Hardware

Lösung für Ersatz eines defekter Raid-Controllers

Anleitung von wellknown vor 1 TagServer-Hardware3 Kommentare

Hallo, da ich nichts gefunden habe und selbst eine Lösung brauchte, hier eine kleine Anleitung für alle die vor ...

Heiß diskutierte Inhalte
Windows Server
Mit der alten Domäneprofil anmelden ohne Server
gelöst Frage von SyosseWindows Server37 Kommentare

Hallo Jungs Folgendes Szenario: Ich habe bei einem sehr kleinen Unternehmen (2Personen) den Server migriert, soweit hat alles geklappt. ...

Sicherheits-Tools
Virenprogramm lässt Programme nicht starten
Frage von SurferGirlSicherheits-Tools23 Kommentare

Hallo, ich bin neu hier, ich hoffe ich habe die richtige Rubrik gewählt. Falls nicht, tut es mir leid. ...

Windows Server
Kann DNS-Einträge nicht finden
gelöst Frage von BPeterWindows Server19 Kommentare

Hallo, wenn ich folgenden Befehl absetze, bekomme ich eine Liste zurück mit allen Einträgen der DNS-Zone. Wenn ich aber ...

Windows Server
SQL Server Instanz (Eplan) auf WIN 2008 RC2 Server frisst RAM ohne Limit
Frage von derinderinderinWindows Server17 Kommentare

Hallo Zusammen, Wir haben hier einen Windows 2008 RC2 Server. Darauf läuft ein SQL Server Express 2014 Version 12.0.4232.0. ...