Skript, um IP-Adresse auf Windows zu ändern

Ich benutze meinen Computer, um mit einem Stück Hardware über Ethernet zu kommunizieren. Um mit diesem Gerät zu kommunizieren, setze ich mein ip auf 192 168 0 11, Subnetzmaske auf 255 255 255 0 und Standard-Gateway auf 192 168 0 1 für IPv4. Um das Internet zu benutzen, wähle ich "IP-Adresse automatisch beziehen" über das Bedienfeld.

Ich hätte gern ein Skript, das mir erlaubt, schnell die eine oder andere Ethernet-Einstellung zu wählen – Hardware oder Internet.

Ich programmiere meistens in Python, aber vielleicht gibt es eine Batch-Datei-Lösung.

Vielen Dank,

Barry

2 Solutions collect form web for “Skript, um IP-Adresse auf Windows zu ändern”

Sie können das Python WMI-Modul verwenden , um dies zu tun (installieren Sie die PyWin32-Erweiterungen und das WMI-Modul, bevor Sie diese Skripts ausführen ). Hier ist, wie man Dinge konfiguriert, um mit dem Hardware-Gerät zu sprechen:

import wmi # Obtain network adaptors configurations nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True) # First network adaptor nic = nic_configs[0] # IP address, subnetmask and gateway values should be unicode objects ip = u'192.168.0.11' subnetmask = u'255.255.255.0' gateway = u'192.168.0.1' # Set IP address, subnetmask and default gateway # Note: EnableStatic() and SetGateways() methods require *lists* of values to be passed nic.EnableStatic(IPAddress=[ip],SubnetMask=[subnetmask]) nic.SetGateways(DefaultIPGateway=[gateway]) 

Hier geht es um eine IP-Adresse automatisch (über DHCP):

 import wmi # Obtain network adaptors configurations nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True) # First network adaptor nic = nic_configs[0] # Enable DHCP nic.EnableDHCP() 

Hinweis: In einem Produktionsskript sollten Sie die von EnableStatic () , SetGateways () und EnableDHCP () zurückgegebenen Werte überprüfen. ('0' bedeutet Erfolg, '1' bedeutet Neustart erforderlich und andere Werte werden auf den MSDN-Seiten beschrieben, die mit den Methodennamen verknüpft sind. Hinweis: Für EnableStatic () und SetGateways () werden die Fehlercodes als Listen zurückgegeben).

Vollständige Informationen über die gesamte Funktionalität der Win32NetworkAdapterConfiguration-Klasse finden Sie auch auf MSDN .

Anmerkung: Ich habe das mit Python 2.7 getestet, aber da PyWIn32 und WMI Module für Python 3 verfügbar sind, glaube ich, dass du in der Lage sein wirst, dies für Python 3 zu nutzen, indem du das "u" vor den Stringliteralen löschst.

Sie können das Unterprozeßmodul zum Starten verwenden

 netsh interface ip set address [params] 

Starten Sie das von der Kommandozeile (ohne [params]), um Hilfe zu bekommen, wie man es benutzt. Dann können Sie das machen

 import subprocess subprocess.call("netsh interface ip set address ....".split()) 
  • Boost.Python-Beispiele, Windows 7 x64, "ImportError: DLL-Last fehlgeschlagen: Das angegebene Modul konnte nicht gefunden werden."
  • Matplotlib 1.3.0 ImportError: DLL-Last fehlgeschlagen:% 1 ist keine gültige Win32-Anwendung
  • Importfehler für Oauth
  • Installation von Biopython - Python 3.3 nicht in der Registrierung gefunden
  • Virtualenv auf Windows 7 gibt AssertionError zurück
  • Python-Skripts laufen auf Windows ohne Angabe von ".py" Erweiterung
  • Löschen von zwischengespeicherten temporären Anmeldeinformationen für eine Netzwerkfreigabe auf einem Windows-Rechner ohne Neustart oder Abmelden [Duplizieren]
  • Hilf mir zu verstehen, warum Unicode nur manchmal mit Python funktioniert
  • Warum kann ich nicht richtig lesen 32bit Registry-Werte in HKCU auf 64-Bit-Maschine?
  • PIL image show () funktioniert nicht an Windows 7
  • .pyw und pythonw läuft nicht unter Windows 7
  • Python ist die beste Programmiersprache der Welt.