begin process at 2008 07 21 01:15:11
1 213 538 membres
7 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MODIFIER LA CONFIGURATION DU RÉSEAU LOCAL


Information sur la source

Catégorie :Réseaux & Internet Source .NET ( DotNet ) Classé sous : réseau, configuration, changer IP, IP, ipconfig Niveau : Débutant Date de création : 10/01/2008 Date de mise à jour : 10/01/2008 17:04:23 Vu : 6 210

Note :
Aucune note

Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

Description

é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

  • 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();
  • }
  • }
  • }
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.
10 janvier 2008 17:04:23 :
capture de la windows forms
  • signaler à un administrateur
    Commentaire de wizad le 10/01/2008 20:02:05

    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)

  • signaler à un administrateur
    Commentaire de yfbf le 11/01/2008 10:49:17

    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

  • signaler à un administrateur
    Commentaire de thelase le 01/02/2008 18:39:24

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

    http://www.clubic.com/telecharger-fiche61532-net-profile-switch.html

Ajouter un commentaire

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Boutique

Boutique de goodies CodeS-SourceS