[Ex] Gestionnaire de profils TCP/IP

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

[Ex] Gestionnaire de profils TCP/IP

#1

Message par Arek »

Bonjour.
En tant que technicien réseau (et accessoirement joueur en lan) j'ai souvent besoin de changer d'adresse IP sur mon PC
J'ai fait ce petit prog qui permet de sauvegarder et restaurer des profils TCP/IP à la volée
Il est assez inspiré de ce que j'ai trouvé sur ce forum ou sont grand frère anglophone.
Je vous le propose pour l'un de mes premiers posts
J'aurais voulu avoir votre avis, des idées pour l'améliorer, tout ce qui pourrait m'aider.

D'avance merci.
Arek.
Fichiers joints
IP_Profil_Manager_v1.au3
(13.41 Kio) Téléchargé 1168 fois
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#2

Message par Tlem »

Trés bien.
J'ai juste noté un comportement étrange si on choisit un profil puis que l'on clique lire.
Le masque de sous réseau passe à 255.0.0.0 !!!
Je suis en DHCP.

Dans mon cas (PC portable), j'ai carte réseau 1394 et Windows Mobile-based Device qui viennent se rajouter à la liste de mes contrôleurs réseau.

Vu le nombre de bouton, un bouton quitter ne serait pas de trop. ;)

Il faudrait mettre le combo de la carte réseau en $CBS_DROPDOWNLIST pour qu'on ne puisse pas modifier le nom de la carte.

L'utilisation de la commande Netsh risque de poser problème sous Windows Vista.
J'utilisais la même chose que vous pour connaitre l'état de la carte réseau, mais il semble que la commande ne soit pas totalement identique sous Vista (à tester).
Perso, je suis passé au WMI. ;)
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#3

Message par Voodoo »

Testé sur Windows Vista Pro sp1, sa fonctionne. :P

Quand on change de carte réseau dans la combobox il faudrait que sa rafraichisse automatiquement les labels !

Sinon rien à dire !
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#4

Message par Arek »

Merci pour vos reponses rapides.
- pour le comportement étrange, je l'ai effectivement reproduit... mais une seule fois, et je n'y arrive plus (!!??!)
- Pour les interface windows mobile et 1394, je ne les volontairement pas enlevé, 1 elle ne me gène pas et 2, par peur de masquer une interface exotique mais configurable.
- Pour le bouton sortir, je me disais que justement vu le nombre de boutons, il n'était pas nécéssaire...
- $CBS_DROPDOWNLIST Excelente idée, c'est ajouté, c'est vrai que c'est moins risqué !
- Ne fonctionnant que sous XP, je n'ai pas pus tester sous vista (merci VooDoo), mais selon les sites qui parlent de netsh, il n'y avais pas de raison que cela ne fonctionne pas.
- WMI, hummm, ça a l'air très alléchant comme système, je vais regarder ça de plus près
Quand on change de carte réseau dans la combobox il faudrait que sa rafraichisse automatiquement les labels !
Je vois pas bien de quoi il s'agit ! un peu plus de détail ?
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#5

Message par Tlem »

voodoo voulait simplement dire, au lieu de cliquer l'interface dans le combo puis lecture, de regrouper le tout sur l'action de la sélection de l'interface. ;)

Pour la récupération d'info par le WMI je vais essayer de mettre la fonction que je me suis créé dans la partie Fonctions et UDF.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#6

Message par Arek »

Coucou,
Alors dans ce cas ci, c'est pas trop dans mon concept. Le profil selectionné est enregistré pour une interface réseau particulière (permet une config rapide), mais rien ne doit empécher de selectionner une autre au besoin (entre l'ethernet et le wifi par exemple, enfin c'est comme ça que je le vois) pour appliquer les paramètres.
Je suis pas sur d'être très clair, mais en gros, ce serait gagner une fonction d'un coté pour en perdre une de l'autre.
En tout cas merci pour les idées.
D'ailleur, il y a une petite mise à jour qui arrive bientôt
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#7

Message par Tlem »

Perso, je verrais plutôt consulter les paramètres de chaque interface simplement en faisant le clic dessus et si le paramètre ne convient pas, alors on applique le profil sélectionné.

Enfin ... ça me semble plus logique. :roll:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#8

Message par Arek »

C'est une vision qui se défend, mais elle ne correspond pas à mon utilisation.
En gros cette application me sert principalement lors de mes déplacements chez mes clients.
Pour ceux d'entre eux qui me le permettent, je me connecte à leurs réseaux avec mon matériel (tous mes outils sont installés sur mon portable), il est pour des raisons assez évidentes, pas simples de noter et/ou de se souvenir des configurations de chaque client. Du coup, avec mon script, j'ai enregistré tous mes paramètres, et je peux les réappliquer facilement en quelques secondes, sur la carte réseau qui convient. La fonction de lecture n'est qu'un accessoire, il m'est rare d'avoir à lire une config réseau déjà configurée sur mon matériel, et l'enregistrement d'une config DHCP à un intérêt... limité.
Voila pour la petite explication.
Ensuite, libre à chacun de l'adapter à son besoin.
et si la demande est là, je peux envisager d'ajouter ce genre d'options, pourquoi pas.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#9

Message par Tlem »

Heuu, je disais ça simplement parce qu'il suffit dans ce cas d'associé la sélection de l'interface au bouton de lecture.

Pour cela rajoutez ceci dans la fonction _CreateGUI à la suite des autres GUICtrlSetOnEvent :

Code : Tout sélectionner

        GUICtrlSetOnEvent($CARD, "_GetCurrent")
Par contre, il faudra sans doute revoir la fonction de lecture des paramètres, car elle semble ne pas fonctionner correctement.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#10

Message par Arek »

Eh !
Je viens de tester et comme je le pensais, pour activer la lecture auto (qui fonctionne bien), je doit "perdre" le choix auto de la carte par le profil, et ça c'est génant, car il faudra systématiquement choisir la carte manuellement avant d'appliquer une config, perte de temps, risque d'erreur, ça ne me convient pas.
j'ajouterai néanmoins cette fonctionnalité en tant qu'option paramètrable dans une future version.
Il faut bien satisfaire tout le monde...:-)

Est il possible d'en savoir plus sur le problème rencontré?
Je ne rencontre pas ce souci
A bientôt. Arek
Avatar du membre
Voodoo
Niveau 6
Niveau 6
Messages : 298
Enregistré le : ven. 20 juil. 2007 20:45
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#11

Message par Voodoo »

hum je ne dirais plus rien :mrgreen:

Il y a deux choses dans le programme. D'abord les profils, quand on clique dessus ils mettent à jour les labels ip, Masque, passerelle...
Ensuite les cartes qu'il faut sélectionner et en appuyant sur le bouton lire cela maj les labels.

Le bouton lire parait inutile, si on veut un profil on clique sur le profil à gauche et il l'affiche directement, si l'on veut consulter le paramétrage courant de la carte on devrait juste devoir la sélectionner dans la liste et il devrait nous afficher la config de la carte directement...comme pour les profils en faite.
Arek
Niveau 1
Niveau 1
Messages : 7
Enregistré le : lun. 02 févr. 2009 22:13
Status : Hors ligne

Re: [Ex]Gestionnaire de profils TCP/IP

#12

Message par Arek »

VooDoo a écrit :on devrait juste devoir la sélectionner dans la liste et il devrait nous afficher la config de la carte directement...comme pour les profils en faite.
ça j'adore !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#13

Message par Tlem »

Ben, c'est qu'est-ce que j'dit !!! :shock: :shock: :shock: :shock: :shock:
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ethneldryt
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#14

Message par ethneldryt »

pour actualiser fait un controlhide et controlshow de ta gui, ca va actualiser :)
totov
Niveau 1
Niveau 1
Messages : 7
Enregistré le : sam. 18 avr. 2009 11:06
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#15

Message par totov »

Salut !
Je suis nouveau et totalement ignare !
J'essayais de faire un script en réinjectant des paramètres réseaux à l'aide d'un fichier txt suite à la commande : netsh -c interface dump

Mais ton outil me plait beaucoup. Cependant, comment le modifier pour le faire exécuter en tant qu'admin et rajouter des paramètres (d'autres @ dns)?
Merci !
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11773
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#16

Message par Tlem »

L'appel à la commande #RequireAdmin doit normalement suffire à demander les droit admin pour l'exécution du script.

Sinon allez jetez un oeil ici : http://www.autoitscript.fr/forum/viewto ... 8967#p8967
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
aipc
Niveau 1
Niveau 1
Messages : 7
Enregistré le : jeu. 23 avr. 2009 15:18
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#17

Message par aipc »

J'ai utilisé ton script pour en crée un autre. La, tu rentre les paramètres à la main une fois pour toute. Je l'associe avec une checklist pour la configuration d'ordinateur à la chaine. Enfin bref voici :

Puis j'ai crée un autre script toujours pour la configuration d'ordinateur à la chaine pour changer le nom de l'ordinateur et son groupe de travail.
Fichiers joints
automatisation config pc.au3
(1.44 Kio) Téléchargé 572 fois
automatisation configuration IP.au3
(2.78 Kio) Téléchargé 605 fois
liberte75
Niveau 4
Niveau 4
Messages : 51
Enregistré le : mar. 29 janv. 2013 14:39
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#18

Message par liberte75 »

Bonjour tout le monde,
Je continue sur ce post crée par Arek en 2009(c’est loin quand même) qui m'a été d'une très grande utilité pour développer un script qui renomme mes deux carte réseau carte1 = fmc_l, carte2 = fmc_r et ensuite attribuer d’une façon statique les adresses ip:
fmc_l : 192.168.0.1 mask 255.255.255.0 pas besoin de passerelle
fmc_r : 192.168.1.1 mask 255.255.255.0 pas besoin de passerelle

Même si présentement dans le script, il attribue les passerelles. Bon
Je devrai tester mon script sur deux types de systèmes : winXP(32bits) et Windows7(64bits)(même si les chemins dans la base de registre sont les mêmes), pas encore tester sur win7 32bits.
Une fois adapté, le script marche bien sur winxp32bits sans aucun problème.
Mais une fois exécuté sous windows7 (64bits) j’avais les problèmes suivants :
- Le non de carte réseau change, mais le changement des paramètres TCP/IP ne se fait pas, la carte garde toujours l’ancienne paramétrage TCP/IP.

D’après quelque recherche sur le fonctionnement de la commande netsh, j’ai trouvé sur un forum http://superuser.com/questions/463096/c ... ith-script la commande suivante : ipconfig | find /I "Ethernet adapter" il marche sous les deux systèmes, cette commande retourne les noms des cartes réseaux.
Puisque le problème se pose juste avec windows7 (64bits), j’ai essaye de revoir la ligne de commande

Code : Tout sélectionner

RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )
 
Peut-être qu’il y’a une différence entre les deux systèmes. Mais c’était pas ça, c’est la même commande pour les deux systèmes.
Le problème était dans le système win7(64bits), alors même si mon script renomme ma carte réseau et je vois le changement dans le panneau de configuration, comme quoi ma carte réseau à le nouveau nom, mais lorsque j’exécute la commande ipconfig | find /I "Ethernet adapter", elle me retourne toujours l’ancien nom de la carte réseau. Si je change le nom manuellement la commande me retourne le nouveau nom. C’est pour cette raison que lorsque j’exécute

Code : Tout sélectionner

RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )
sous windows7(64bits), sachant que $NetCardDescriptors[$k][1] contient le nom de ma carte reseau avant le changement par le script, l'application des nouveaux parametres TCP/IP se fait sans aucun probleme.

Sous windows xp(32bits), c'est la meme commande, sauf que la variable qui contient le nom de la carte reseau est la nouvelle apres avoir renommer ma carte par le script aussi.
je n'ai pas encore comris pourquoi, mais en attendant des suggestions, remarques ou pistes de reflexion je vous laisse avec le code au complet:

Code : Tout sélectionner

Global $NetCardDescriptors[10][3]; 0 number
                                 ;1 Name of the card
                                ;2 service name
Global $NetCardDescriptors_New [10][3]
Global $Adresse_ip = "192.168."
Global $Adresse_ip1 = "192.168.1.1"
Global $MASK = "255.255.255.0"
Global $GATE = "192.168.1.1"
Global $name = "fmc_"
Global $L = "l"
Global $R = "r"


AutoItSetOption("ExpandEnvStrings", 1)
_GetInfoReseau()





Func _GetInfoReseau()
    AutoItSetOption("ExpandEnvStrings", 1)
    Global $IniConfigs, $IniNetCard, $Network
    Local $k = 0
    Local $3ip = 0
    Local $i
    $i = 0
    While 1
        $i += 1
        $NetCardDescriptors[$i][0] = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards", $i)
        $NetCardDescriptors[$i][2] = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & $NetCardDescriptors[$i][0], "ServiceName")
        $NetCardDescriptors[$i][1] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name")

        If @error <> 0 Then
            ExitLoop
        EndIf
        $NetCardDescriptors[0][0] = $i
            WEnd
For $i = 1 To $NetCardDescriptors[0][0]

        if $i = 1 Then
        $result = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name", "REG_SZ", $name & $L)
        EnvSet("Name", $name & $R)
        EnvUpdate()
    ElseIf $i = 2 Then
        $result = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name", "REG_SZ", $name & $R)
        EnvSet("Name", $name & $L)
        EnvUpdate()
        ElseIf $i = $NetCardDescriptors[0][0] Then
            ExitLoop
        EndIf
    Next

    AutoItSetOption("ExpandEnvStrings", 1)

    $j = 0
    While 1
        $j += 1
        $NetCardDescriptors_New[$j][1] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$j][2] & "\Connection", "Name")
        If @error <> 0 Then
            MsgBox (1,"error est la","error")
            ExitLoop
        EndIf
    WEnd

    For $k = 1 To 2 ;$NetCardDescriptors[0][0]
        MsgBox (1,"name of card1",$NetCardDescriptors_New[$k][1]&$k)
        MsgBox (1,"name of card2",$NetCardDescriptors[$k][1]&$k)
        RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )

        $3ip += 1
    Next
    ;$IsDHCP = False
    ;EndIf
    MsgBox(48, "Changement", "La configuration a été appliquée", 2)
EndFunc   ;==>_GetInfoReseau
 
Modifié en dernier par liberte75 le ven. 15 mars 2013 20:50, modifié 1 fois.
liberte75
Niveau 4
Niveau 4
Messages : 51
Enregistré le : mar. 29 janv. 2013 14:39
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#19

Message par liberte75 »

Bonjour tout le monde,
Je continue sur ce post crée par Arek en 2009(c’est loin quand même) qui m'a été d'une très grande utilité pour développer un script qui renomme mes deux carte réseau carte1 = fmc_l, carte2 = fmc_r et ensuite attribuer d’une façon statique les adresses ip:
fmc_l : 192.168.0.1 mask 255.255.255.0 pas besoin de passerelle
fmc_r : 192.168.1.1 mask 255.255.255.0 pas besoin de passerelle

Même si présentement dans le script, il attribue les passerelles. Bon
Je devrai tester mon script sur deux types de systèmes : winXP(32bits) et Windows7(64bits)(même si les chemins dans la base de registre sont les mêmes), pas encore tester sur win7 32bits.
Une fois adapté, le script marche bien sur winxp32bits sans aucun problème.
Mais une fois exécuté sous windows7 (64bits) j’avais les problèmes suivants :
- Le non de carte réseau change, mais le changement des paramètres TCP/IP ne se fait pas, la carte garde toujours l’ancienne paramétrage TCP/IP.

D’après quelque recherche sur le fonctionnement de la commande netsh, j’ai trouvé sur un forum http://superuser.com/questions/463096/c ... ith-script la commande suivante : ipconfig | find /I "Ethernet adapter" il marche sous les deux systèmes, cette commande retourne les noms des cartes réseaux.
Puisque le problème se pose juste avec windows7 (64bits), j’ai essaye de revoir la ligne de commande

Code : Tout sélectionner

RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )
 
Peut-être qu’il y’a une différence entre les deux systèmes. Mais c’était pas ça, c’est la même commande pour les deux systèmes.
Le problème était dans le système win7(64bits), alors même si mon script renomme ma carte réseau et je vois le changement dans le panneau de configuration, comme quoi ma carte réseau à le nouveau nom, mais lorsque j’exécute la commande ipconfig | find /I "Ethernet adapter", elle me retourne toujours l’ancien nom de la carte réseau. Si je change le nom manuellement la commande me retourne le nouveau nom. C’est pour cette raison que lorsque j’exécute

Code : Tout sélectionner

RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )
sous windows7(64bits), sachant que $NetCardDescriptors[$k][1] contient le nom de ma carte reseau avant le changement par le script, l'application des nouveaux parametres TCP/IP se fait sans aucun probleme.

Sous windows xp(32bits), c'est la meme commande, sauf que la variable qui contient le nom de la carte reseau est la nouvelle apres avoir renommer ma carte par le script aussi.
je n'ai pas encore comris pourquoi, mais en attendant des suggestions, remarques ou pistes de reflexion je vous laisse avec le code au complet:

Code : Tout sélectionner

Global $NetCardDescriptors[10][3]; 0 number
                                 ;1 Name of the card
                                ;2 service name
Global $NetCardDescriptors_New [10][3]
Global $Adresse_ip = "192.168."
Global $Adresse_ip1 = "192.168.1.1"
Global $MASK = "255.255.255.0"
Global $GATE = "192.168.1.1"
Global $name = "fmc_"
Global $L = "l"
Global $R = "r"


AutoItSetOption("ExpandEnvStrings", 1)
_GetInfoReseau()





Func _GetInfoReseau()
    AutoItSetOption("ExpandEnvStrings", 1)
    Global $IniConfigs, $IniNetCard, $Network
    Local $k = 0
    Local $3ip = 0
    Local $i
    $i = 0
    While 1
        $i += 1
        $NetCardDescriptors[$i][0] = RegEnumKey("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards", $i)
        $NetCardDescriptors[$i][2] = RegRead("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\" & $NetCardDescriptors[$i][0], "ServiceName")
        $NetCardDescriptors[$i][1] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name")

        If @error <> 0 Then
            ExitLoop
        EndIf
        $NetCardDescriptors[0][0] = $i
            WEnd
For $i = 1 To $NetCardDescriptors[0][0]
        if $i = 1 Then
        $result = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name", "REG_SZ", $name & $L)
        EnvSet("Name", $name & $R)
        EnvUpdate()
    ElseIf $i = 2 Then
        $result = RegWrite("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$i][2] & "\Connection", "Name", "REG_SZ", $name & $R)
        EnvSet("Name", $name & $L)
        EnvUpdate()
        ElseIf $i = $NetCardDescriptors[0][0] Then
            ExitLoop
        EndIf
    Next

    AutoItSetOption("ExpandEnvStrings", 1)

    $j = 0
    While 1
        $j += 1
        $NetCardDescriptors_New[$j][1] = RegRead("HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Network\{4D36E972-E325-11CE-BFC1-08002BE10318}\" & $NetCardDescriptors[$j][2] & "\Connection", "Name")
        If @error <> 0 Then
            MsgBox (1,"error est la","error")
            ExitLoop
        EndIf
    WEnd

    For $k = 1 To 2 ;$NetCardDescriptors[0][0]
        MsgBox (1,"name of card1",$NetCardDescriptors_New[$k][1]&$k)
        MsgBox (1,"name of card2",$NetCardDescriptors[$k][1]&$k)
        RunWait ('netsh interface ip set address name=' & $NetCardDescriptors[$k][1] & ' source=static addr=' & $Adresse_ip &$3ip &".1" & ' mask=' & $MASK & ' gateway=' & $GATE & ' gwmetric=0', "", @SW_HIDE )

        $3ip += 1
    Next
    ;$IsDHCP = False
    ;EndIf
    MsgBox(48, "Changement", "La configuration a été appliquée", 2)
EndFunc   ;==>_GetInfoReseau
 
Avatar du membre
Guiguit59
Niveau 1
Niveau 1
Messages : 3
Enregistré le : ven. 14 juin 2013 14:41
Localisation : Nîmes
Status : Hors ligne

Re: [Ex] Gestionnaire de profils TCP/IP

#20

Message par Guiguit59 »

Beau travail !
Mais pourquoi se compliquer la vie quand il existe 2 lignes de commande DOs pour le faire ?

Sauvegarde de la config: "netsh -c interface dump > c:\maison.txt"
Restauration de la config: "netsh -f c:\maison.txt"
Guiguit59

Déploies, Déploies, Déploies ..... tes ailes !
Répondre