Seite 1 von 1

[Gelöst] Ändern der Netzwerkeinstellungen des Rechners

Veröffentlicht: 20. August 2019 - 11:19 Uhr
von den Gälen
Guten Morgen,
Ich möchte die Konfiguration meiner Rechner ändern, um von manuell zugewiesenen IP-Adressen auf per DHCP zugewiesene IP-Adressen und DNS-Server umzuschalten. Ich teste dies mit folgendem Code:

Code: Alle auswählen

# -*- coding: utf-8 -*-
from setuphelpers import *
import wmi

def install():
    nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
    nic = nic_configs[0]
    nic.EnableDHCP()
    nic.SetDNSServerSearchOrder([])
Wenn ich das Paket auf einem zufällig ausgewählten Windows 7-Studenten-PC installiere, bleiben die manuellen DNS-Einstellungen erhalten, nur die IP-Adresse wird auf automatisch umgestellt. Installiere ich das Paket jedoch über die Kommandozeile, funktioniert es! Gibt es eine andere Möglichkeit, die Installation über die Konsole durchzuführen?

Betreff: Ändern der Netzwerkeinstellungen des Rechners

Veröffentlicht: 20. August 2019 – 13:41 Uhr
von Sfonteneau
Anbei finden Sie einen Code, der bei uns funktioniert

Code: Alle auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-
from setuphelpers import *
import wmi
uninstallkey = []

def install():
    try:
        nic_configs = wmi.WMI().Win32_NetworkAdapterConfiguration(IPEnabled=True)
        if not nic_configs:
            raise Exception
    except Exception:
        print u"No network interface found. Exiting gracefully."
        exit(1)

    for nic in nic_configs:
        print u"Please wait..."
        print u"Using DHCP on interface '" + nic.description + "'"
        nic.EnableDHCP()
        nic.SetDynamicDNSRegistration()
        nic.EnableDHCP()
        run(u'ipconfig /renew', timeout=15)

Betreff: Ändern der Netzwerkeinstellungen des Rechners

Veröffentlicht: 21. August 2019 - 08:28 Uhr
von den Gälen
Großartig, vielen Dank!

Betreff: [Gelöst] Ändern der Netzwerkeinstellungen des Rechners

Veröffentlicht: 4. November 2019 - 11:17 Uhr
von den Gälen
Ich habe mir endlich die Zeit genommen, diesen Code auf einem Windows-7-Rechner zu testen, aber das Paket lässt sich nicht korrekt installieren. Selbst nach einem Neustart wird die IP-Adresse auf automatisch gesetzt, die alten DNS-Einstellungen bleiben jedoch manuell.

Hier sind die Installationsprotokolle aus der Konsole:

Code: Alle auswählen

Please wait...Using DHCP on interface 'Realtek PCIe GBE Family Controller'Traceback (most recent call last):
  File "C:\wapt\common.py", line 3846, in install_wapt
    exitstatus = setup.install()
  File "c:\windows\temp\waptcnpcef\setup.py", line 22, in install
  File "C:\wapt\common.py", line 3625, in run
    return ensure_unicode(setuphelpers.run(*arg,pidlist=self.pidlist,**args))
  File "C:\wapt\setuphelpers.py", line 1046, in run
    raise TimeoutExpired(cmd,''.join(output),timeout)
TimeoutExpired: Command 'ipconfig /renew' timed out after 15 seconds with output ''\r\nConfiguration IP de Windows\r\n\r\n''
TimeoutExpired: Command 'ipconfig /renew' timed out after 15 seconds with output ''\r\nConfiguration IP de Windows\r\n\r\n''

Wenn ich den Befehl "ipconfig /renew" lösche, wird das Paket fehlerfrei installiert, aber die DNS-Einstellungen werden nicht automatisch zurückgesetzt.
Wenn ich den Befehl nic.SetDynamicDNSRegistration() durch nic.SetDNSServerSearchOrder(['172.16.80.13','172.16.80.14']) ersetze, wird der DNS tatsächlich geändert.
Der Befehl nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1) scheint ebenfalls nicht zu funktionieren.