Modifier la configuration du réseau local

Soyez le premier à donner votre avis sur cette source.

Snippet vu 21 473 fois - Téléchargée 17 fois

Contenu du snippet

étant donné ne pas avoir trouvé de codes(sur le NET) afin de pouvoir changer la configuration
IP de mon interface "réseau local", j'ai effectué moi même cette petite interface windows.forms
elle permet de changer :
--L'adresse IP
--Le masque de sous réseau
--La passerelle
--L'adresse DNS.

J'ai programmé ce petit soft car je suis souvent en déplacement,
ce qui me demande quelquefois de définir des adresses statiques ou quelquefois dynamiques (DHCP). tout cela pour un gain de temps bien entendu!

J'utilise donc bien une commande : NETSH.EXE, qui demande des paramètres!
4 textboxs et 3 boutons sont également nécéssaires dans la windows forms.
voici le code:

Source / Exemple :


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Diagnostics;
using System.Net.NetworkInformation;

namespace ChangeIPconf
{
    public partial class Wind1 : Form
    {
        //commande de base utilisée + paramètres
        string commande = @"c:\windows\system32\netsh.exe";
        string param1 = "";
        string param2 = "";

        public Wind1()
        {
            InitializeComponent();
        }

        private void Bstatic_Click(object sender, EventArgs e)
        {
            //configuration des paramètres de la commande pour
            //mettre en configuration statique (IP+DNS)
            param1 = "interface ip set address " + Convert.ToChar(34) + "Connexion au réseau local" + Convert.ToChar(34) + " static " + TBip.Text + " " + Tbmask.Text + " " + TBgate.Text + " 1";
            param2 = "interface ip set dns " + Convert.ToChar(34) + "Connexion au réseau local" + Convert.ToChar(34) + " static " + Tbdns.Text;
            SetIpConf(param1, param2); //appel de la méthode qui va lancer le processus
        }

        private void Bdhcp_Click(object sender, EventArgs e)
        {
            //configuration des paramètres de la commande pour
            //mettre en configuration dynamique DHCP (IP+DNS)
            param1 = "interface ip set address " + Convert.ToChar(34) + "Connexion au réseau local" + Convert.ToChar(34) + " dhcp";
            param2 = "interface ip set dns " + Convert.ToChar(34) + "Connexion au réseau local" + Convert.ToChar(34) + " dhcp";
            SetIpConf(param1, param2); //appel de la méthode qui va lancer le processus
        }

        private void SetIpConf(string p1, string p2)
        {
            //processus qui configure les infos sur l'IP
            ProcessStartInfo proc = new ProcessStartInfo(commande, p1);
            proc.WindowStyle = ProcessWindowStyle.Hidden;
            Process lance = Process.Start(proc);
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
            lance.WaitForExit();
            Cursor.Current = System.Windows.Forms.Cursors.Default;
            //processus qui configure les infos sur le DNS
            ProcessStartInfo proc2 = new ProcessStartInfo(commande, p2);
            proc2.WindowStyle = ProcessWindowStyle.Hidden;
            Process lance2 = Process.Start(proc2);
            Cursor.Current = System.Windows.Forms.Cursors.WaitCursor;
            lance2.WaitForExit();
            Cursor.Current = System.Windows.Forms.Cursors.Default;
        }

        private void Bfermer_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }
    }
}

Conclusion :


Ce programme n'est pas flexible; il ne permet pas de récupérer la configuration
actuelle de la machine et ne permet que de configurer le réseau local.
je n'ai également pas eu le temps d'effectuer des test sur la validité des
valeurs encodées, mais ce n'est pas grave, car la commande n'est alors pas effectuée.

A voir également

Ajouter un commentaire

Commentaires

thelase
Messages postés
2
Date d'inscription
dimanche 7 octobre 2007
Statut
Membre
Dernière intervention
1 février 2008

il existe un logiciel qui remplit les fonctions que tu recherches:
NET PROFILES

http://www.clubic.com/telecharger-fiche61532-net-profile-switch.html
yfbf
Messages postés
21
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
11 janvier 2008

Salut,
C'est rès bien ce que tu as fait. Ce serait mieux si on peut encoder ceci :

Physical Address. . . . . . . . . : 00-14-22-EF-37-E3
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . :
Subnet Mask . . . . . . . . . . . :
Default Gateway . . . . . . . . . :
DHCP Server . . . . . . . . . . . :
DNS Servers . . . . . . . . . . . :

Primary WINS Server . . . . . . . :
Secondary WINS Server . . . . . . :

Maintenant, pourquoi ne pas mettre à disposition la sauvegarde du preset et de pouvoir le recharger.
Exemple :

CFG :
VLAN1
VLAN2
VLAN3
...
Cela serait mieux.

Bien à toi,
Youssef
cs_wizad
Messages postés
356
Date d'inscription
samedi 30 octobre 2004
Statut
Membre
Dernière intervention
14 avril 2009

Pourquoi ne pas être passé par wmi pourun tel système? (je dois avoir un code dans un quoi qui l'illustre j'essairais de le retrouver ce week end)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.