Werbung

Ändern Sie das Skript für die NetzwerkeinstellungenDiese Woche bin ich auf ein interessantes Problem gestoßen. In vielen Büros oder Arbeitsumgebungen müssen Sie möglicherweise Ihre Netzwerkeinstellungen neu definieren, um eine Verbindung zu verschiedenen Netzwerken herzustellen. Einige Leute nehmen beispielsweise ihren Laptop mit nach Hause und haben eine statische IP-Adresse, die speziell für diesen Computer eingerichtet wurde. Da es sich bei dem Arbeitsnetzwerk normalerweise um DHCP handelt, muss die Person die Netzwerkeinstellungen zwischen einer statischen IP-Adresse oder automatischem DHCP ändern, je nachdem, wo sie sich befindet.

Ein häufigeres Problem sind Ingenieure oder IT-Mitarbeiter, die häufig eine Verbindung zu Geräten oder Maschinen in einem kleinen Netzwerk innerhalb eines Gebäudes herstellen müssen. Um eine Verbindung zu diesem isolierten Netzwerk herzustellen, müssen Sie Ihre Netzwerkeinstellungen in eine statische IP ändern. Wenn Sie später erneut eine Verbindung zum Unternehmensnetzwerk herstellen, wird wieder DHCP hergestellt.

Ich befand mich oft genug in dieser Situation und hatte es so satt, zur Netzwerkkarte zu navigieren und die IP-Einstellungen zu öffnen und diese Änderungen vorgenommen, dass ich entschied, dass es höchste Zeit war, ein VB-Skript zusammenzustellen, das alles in einem oder zwei erledigt Klicks. Wenn Sie meinen Programmierartikeln gefolgt sind, wissen Sie, dass ich VB-Skripte liebe. Ich habe es einmal benutzt Erstellen Sie einen besessenen Computer Erstellen Sie einen Freaky Possessed Computer mit Windows-Skript für HalloweenEs gibt viele lustige Streiche, die Sie mit einem Computer auf Ihren Freunden spielen können. Sie haben wahrscheinlich all diese gruseligen YouTube-Videos gesehen, die die Leute für eine gute Angst aneinander weiterleiten ... Weiterlesen und auch gewohnt Automatisieren Sie Microsoft SyncToy So erstellen Sie ein Datensicherungs-Tool mit SyncToy & VB ScriptWir haben hier bei MUO viele Backup-Lösungen behandelt, und all diese Lösungen sind großartig, aber wenn Sie in einer Umgebung arbeiten, in der kostenlose Softwarepakete von Drittanbietern oder Unternehmen vorsichtig sind ... Weiterlesen für Datensicherungen.

Es ist auch möglich, diese Aufgabe mit einem VB-Skript auszuführen, und es ist sogar möglich, sie so flexibel zu gestalten, dass Benutzereingaben für die statische IP-Adresse akzeptiert werden. In diesem Artikel werde ich Ihnen in drei Abschnitten zeigen, wie es geht.

Erstellen eines Skripts zur Änderung der Netzwerkeinstellungen

Es gibt drei Hauptaufgaben, die Sie mit dem Skript ausführen müssen, um diese kleine App zum Wechseln der Netzwerkeinstellungen zu erstellen. Das erste besteht darin, das Skript zum Erstellen statischer IP-Einstellungen zu verwenden. Als nächstes müssen Sie ein Skript erstellen, um DHCP zu aktivieren. Als letztes müssen Sie den Benutzer fragen, welche Aufgabe er ausführen möchte, und dieses Feedback dann verwenden, um sie auszuführen.

VB-Skript zum Festlegen statischer IP-Einstellungen

Denken Sie daran, dass die folgenden Skripts als Textdatei mit der Erweiterung .wsf gespeichert werden müssen, damit sie auf einem Windows-PC ausgeführt werden können. Das folgende Skript ändert Ihre Netzwerkeinstellungen in eine statische IP mit einer bestimmten Subnetzmaske und einer Standard-Gatewall, wobei alle drei fest im Skript codiert sind.

Stellen Sie für alle in diesem Artikel aufgeführten Codebeispiele sicher, dass Sie „ am Ende wird der Code sonst nicht ausgeführt.
Hier ist das statische IP-Änderungsskript:

Option Explizit bei Fehler Fortsetzen Weiter Dim objWMIService. Dim objNetAdapter. StrComputer dimmen. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. ColNetAdapters dimmen. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Setze objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Setzen Sie colNetAdapters = objWMIService. ExecQuery ("Wählen Sie * aus Win32_NetworkAdapterConfiguration aus, wobei IPEnabled = TRUE") Für jeden objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Wenn nicht errEnableStatic = 0, dann WScript. Echo "Fehler beim Zuweisen von IP / Subnetz." End If errGateways = objNetAdapter. SetGateways (arrGateway) Wenn nicht errGateways = 0, dann WScript. Echo "Fehler beim Zuweisen des Gateways." End If Next. WScript. Verlassen

Dieses Skript verwendet den Windows-WMI-Dienst in Windows, um das Ziel der Änderung von Einstellungen zu erreichen. Sie können die drei festen Array-Variablen sehen, die mit den IP-Adressen geladen sind, und dann, wo das Skript nach der aktiven "aktivierten" Netzwerkkarte sucht. Anschließend werden die erforderlichen Änderungen mit den Methoden "EnableStatic" und "SetGateways" vorgenommen. Wenn ich das Skript in meinem Heimnetzwerk ausführe (wo ich DHCP benötige), können Sie sehen, wo das Skript meine Adaptereinstellungen erfolgreich geändert hat und ich meine Internetverbindung verloren habe.
So schreiben Sie ein Windows-Skript zum Ändern der Netzwerkeinstellungen im laufenden Betrieb autodhcp1
Nachdem bewiesen wurde, dass der statische IP-Teil des Skripts funktioniert, ist es an der Zeit, das Skript zu schreiben, mit dem der Adapter auf DHCP gesetzt wird, damit die Netzwerk-IP automatisch erkannt wird. Hier ist das Skript, mit dem Sie dies tun können.

Option Explizit bei Fehler Fortsetzen Weiter Dim objWMIService. Dim objNetAdapter. StrComputer dimmen. Dim errEnable strComputer = "." Setzen Sie objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Setzen Sie colNetAdapters = objWMIService. ExecQuery ("Wählen Sie * aus Win32_NetworkAdapterConfiguration aus, wobei IPEnabled = TRUE") Für jeden objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () Nächstes WScript. Verlassen

Wie Sie sehen können, ist dieses Skript viel einfacher. Es wird auch WMI verwendet, aber die einzige erforderliche Funktion ist "EnableDHCP". Dies wird auf dem aktuell aktivierten Netzwerkadapter durchgeführt. Nach dem Speichern und Ausführen dieses Skripts wurden meine Adapterkarteneinstellungen wieder auf DHCP geändert, und meine Internetverbindung funktionierte wieder.
Ändern Sie das Skript für die Netzwerkeinstellungen
Nachdem Sie nun den Code zum Ausführen der beiden wichtigen Aktionen erhalten haben, besteht der nächste Teil dieses Tricks darin, Eingaben des Benutzers vorzunehmen, um genau zu bestimmen, welche statische IP-Adresse er möchte. Um DHCP wieder zu aktivieren, kann der Benutzer das Wort "AUTO" eingeben, um die IP automatisch zu erkennen.
So sieht dieses neue, vollständige Skript aus, das die beiden oben genannten Skripte enthält.

Option Explizit bei Fehler Fortsetzen Weiter Dim objWMIService. Dim objNetAdapter. StrComputer dimmen. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. ColNetAdapters dimmen. Dim errEnableStatic. Dim errGateways. StrInput dimmen. Dim errFailed errFailed = 0 strInput = InputBox ("Typische statische IP-Adresse oder AUTO") Wenn strInput = "AUTO" Dann strComputer = "." Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Wählen Sie * aus Win32_NetworkAdapterConfiguration aus, wobei IPEnabled = TRUE") Für jeden objNetAdapter in colNetAdapters errEnable = objNetAdapter. EnableDHCP () Wenn nicht errEnable = 0, dann WScript. Echo "DHCP-Einstellung fehlgeschlagen." errFailed = 1 End If Next. Sonst strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Set colNetAdapters = objWMIService. ExecQuery ("Wählen Sie * aus Win32_NetworkAdapterConfiguration aus, wobei IPEnabled = TRUE") Für jeden objNetAdapter in colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Wenn nicht errEnableStatic = 0, dann WScript. Echo "Fehler beim Zuweisen von IP / Subnetz." errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) Wenn nicht errGateways = 0, dann WScript. Echo "Fehler beim Zuweisen des Gateways." errFailed = 1 End If Next End If If errFailed = 0 Dann WScript. Echo "IP-Einstellungen erfolgreich geändert." End If WScript. Verlassen

Dieses Skript verwendet die InputBox-Funktion, um entweder die statische IP oder den Befehl „AUTO“ vom Benutzer abzurufen.
Ändern Sie das Skript für die Netzwerkeinstellungen

Wenn etwas anderes als "AUTO" in das Feld eingegeben wird, wird dies als statische IP-Zeichenfolge in dem Codeabschnitt verwendet, der WMI verwendet, um die statischen IP-Einstellungen für den Netzwerkadapter festzulegen. Es gibt auch eine Überprüfung auf die "0" -Bestätigung, die besagt, dass alles in Ordnung war.

Skript zum Ändern der Netzwerkeinstellungen

Beim Überprüfen meiner Netzwerkkarteneinstellungen nach dem Ausführen des Skripts habe ich bestätigt, dass das Skript tatsächlich Änderungen an den statischen IP-Einstellungen vorgenommen hat.
Skript zum Ändern der Netzwerkeinstellungen
Testen Sie nun das AUTO-Skript. Die Eingabe von AUTO erfüllt die erste Bedingung in der IF-Anweisungsprüfung für AUTO. Dadurch wird das alternative Skript ausgeführt, das DHCP aktiviert.

Skript zum Ändern der Netzwerkeinstellungen

Nachdem ich dies ausgeführt hatte, ging ich zu meinen Adaptereinstellungen und sicher wurde es zurückgesetzt, um automatisch eine IP-Adresse zu erhalten.
Skript zum Ändern des Netzwerks
Während es eine einfache Aufgabe sein kann, in die Einstellungen Ihrer Netzwerkkarte zu wechseln und zu statisch oder DHCP zu wechseln, kann es zu einem echten Schmerz werden, wenn Sie es wirklich oft tun müssen. Sie können dies über eine Befehlszeile mit "netsh" tun, aber auch hier müssen Sie sich die Befehlssyntax merken.

Mit dem obigen Skript können Sie ein schnelles und einfaches Dienstprogramm erstellen, mit dem Sie Ihre Netzwerkeinstellungen jederzeit im laufenden Betrieb ändern können.

Denken Sie, Sie könnten dieses Windows-Skript ausprobieren? Irgendwelche anderen Ideen, um es zu optimieren und noch besser zu machen? Teilen Sie Ihre Gedanken und Vorschläge im Kommentarbereich unten mit.

Bildnachweis:Binärcodes über Shutterstock

Ryan hat einen BSc-Abschluss in Elektrotechnik. Er hat 13 Jahre in der Automatisierungstechnik, 5 Jahre in der IT gearbeitet und ist jetzt Apps Engineer. Als ehemaliger Managing Editor von MakeUseOf sprach er auf nationalen Konferenzen zur Datenvisualisierung und wurde im nationalen Fernsehen und Radio vorgestellt.