Page 1 sur 1

[Resolu] Changement des paramètres réseau machine

Posté : 20 août 2019 - 11:19
par gaelds
Bonjour,
Je souhaite changer la configuration de mes machines pour passer d'une IP manuelle à une IP et des DNS attribués par DHCP. Je fais des tests avec ce code :

Code : Tout sélectionner

# -*- 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([])
Quand j'installe le paquet sur un PC élève windows 7 pris au hasard, les DNS manuels restent en place, seule l'IP est mise en automatique. Mais si j'installe le paquet en ligne de commande, ça fonctionne ! Existe-t'il une autre méthode pour que ça fonctionne avec l'installation par la console ?

Re: Changement des paramètres réseau machine

Posté : 20 août 2019 - 13:41
par sfonteneau
Ci-joint un code qui fonctionne chez nous

Code : Tout sélectionner

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

Re: Changement des paramètres réseau machine

Posté : 21 août 2019 - 08:28
par gaelds
Super, merci beaucoup !

Re: [Resolu] Changement des paramètres réseau machine

Posté : 04 nov. 2019 - 11:17
par gaelds
j'ai enfin pris le temps de tester ce code sur une machine windows 7, mais le paquet ne s'installe pas correctement. Et même après reboot, l'IP est mis en automatique, mais les anciens DNS restent en manuel.

Voici les logs d'installation depuis la console :

Code : Tout sélectionner

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''

Si je supprime la commande "ipconfig /renew", le paquet s'installe sans erreur, mais les DNS ne sont pas remis en automatique.
Si je remplace la commande nic.SetDynamicDNSRegistration() par nic.SetDNSServerSearchOrder(['172.16.80.13','172.16.80.14']), les DNS sont bien modifiés.
La commande nic.SetDynamicDNSRegistration(FullDNSRegistrationEnabled=1) ne semble pas fonctionner non plus.