Pagina 1 di 1

Configurazione IP del PC automaticamente

Pubblicato: 6 gennaio 2020 - 09:32
di gaelds
Buongiorno,
Vorrei poter ripristinare automaticamente le impostazioni di rete sui miei PC Windows 7 e Windows 10, ma il pacchetto che sto utilizzando non si installa correttamente. L'indirizzo IP è impostato su automatico, ma le vecchie impostazioni DNS rimangono manuali (anche dopo un riavvio).

Ecco il file setup.py:

Codice: Seleziona tutto

#!/usr/bin/python
# -*- coding: utf-8 -*-
from setuphelpers import *
import wmi
import socket
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()
        #dnsservers = ['172.16.80.13','208.67.222.222']
        #nic.SetDNSServerSearchOrder(dnsservers)
        #nic.SetDynamicDNSRegistration()
        nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1)
        run(u'ipconfig /renew', timeout=45)

Ecco i log di installazione dalla console:

Codice: Seleziona tutto

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''
Se elimino il comando "ipconfig /renew", il pacchetto si installa senza errori, ma le impostazioni DNS non vengono ripristinate automaticamente.
Se sostituisco il comando nic.SetDynamicDNSRegistration() con nic.SetDNSServerSearchOrder(['172.16.80.13','172.16.80.14']), il DNS viene effettivamente modificato.
Anche il comando nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1) sembra non funzionare.