Pagina 1 di 1

[Risolto] Modifica delle impostazioni di rete della macchina

Pubblicato: 20 agosto 2019 - 11:19
di gaelds
Buongiorno,
Voglio modificare la configurazione dei miei computer per passare da un indirizzo IP manuale a un indirizzo IP e server DNS assegnati da DHCP. Sto testando con questo codice:

Codice: Seleziona tutto

# -*- 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([])
Quando installo il pacchetto su un PC studentesco Windows 7 selezionato a caso, le impostazioni DNS manuali rimangono invariate, solo l'indirizzo IP è impostato su automatico. Ma se installo il pacchetto tramite riga di comando, funziona! Esiste un altro metodo per farlo funzionare con l'installazione da console?

Oggetto: Modifica delle impostazioni di rete del computer

Pubblicato: 20 agosto 2019 - 13:41
di sfontenau
In allegato troverete un codice che funziona per noi

Codice: Seleziona tutto

#!/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)

Oggetto: Modifica delle impostazioni di rete del computer

Pubblicato: 21 agosto 2019 - 08:28
di gaelds
Ottimo, grazie mille!

Oggetto: [Risolto] Modifica delle impostazioni di rete della macchina

Pubblicato: 4 novembre 2019 - 11:17
di gaelds
Alla fine ho provato questo codice su un computer Windows 7, ma il pacchetto non si installa correttamente. Anche dopo il riavvio, l'indirizzo IP è impostato su automatico, ma le vecchie impostazioni DNS rimangono manuali.

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.