Laden...

Zwischen Static und DHCP Wechseln mit Win32

Erstellt von Kuehter vor 9 Jahren Letzter Beitrag vor 9 Jahren 2.466 Views
K
Kuehter Themenstarter:in
52 Beiträge seit 2015
vor 9 Jahren
Zwischen Static und DHCP Wechseln mit Win32

Habe ein kleines Programm noch mal geschrieben das einfach zwischen DHCP und Static wechseln soll das Problem ist wenn ich den Radiobutton "DHCP" auf True haben passiert nichts habe das in 2 kleine Funktionen geschrieben.

Einmal der Button:


    int Index1;
            if (radioButton1.Checked)
            {
                //if (dhcpExists() == false)
                //{
                    DHCPon();
                //}
            }
            else if (radioButton2.Checked)
            {

einmal der DHCPon befehl



private void DHCPon()
        {
            ManagementClass objMC = new ManagementClass("Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection objMOC = objMC.GetInstances();

            foreach (ManagementObject objMO in objMOC)
            {
                try
                {
                    ManagementBaseObject newIP = objMO.GetMethodParameters("EnableDHCP");
                }
                catch (Exception)
                {
                    
                    throw;
                }
            }
        }

16.842 Beiträge seit 2008
vor 9 Jahren

Nimm den Debugger ( [Artikel] Debugger: Wie verwende ich den von Visual Studio? ) um festzustellen, warum er nicht an den Punkt springt.
Zum Thema Setzen: Du rufst zwar im ManagementBaseObject einen Wert ab; Du setzt aber nichts.
Du verwendest schließlich nur eine Get-Nethode.

1.696 Beiträge seit 2006
vor 9 Jahren

netsh interface ip set address "LAN-Verbindung" dhcp
netsh interface ip set address "LAN-Verbindung" static 192.168.0.10 255.255.255.0 192.168.0.1 1

ist schneller und einfacher als über WMI

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

K
Kuehter Themenstarter:in
52 Beiträge seit 2015
vor 9 Jahren

vbprogger du hast schon in mehreren Threads das netsh interface angesprochen, jedoch habe ich damit noch nie gearbeitet hättest du dann ein paar links für mich weil die MSDNA seite ist da eher unüberischtlich

2.207 Beiträge seit 2011
vor 9 Jahren

Kuehter, kannst du bitte Punkte und Kommas setzen bei deinen Beiträgen. Wenn das jemand liest ist man 5 Jahre beschäftigt.

1.696 Beiträge seit 2006
vor 9 Jahren

da ist nicht viel zu lesen. netsh ist ein Zeileinkommandoprogramm, du kannst gern in ein cmd-Fenster die Parameter anschauen:

netsh interface
netsh interface ip
netsh interface ip set

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

K
Kuehter Themenstarter:in
52 Beiträge seit 2015
vor 9 Jahren

Habe es jetzt wie folgt versucht.


        private void DHCP_click()
        {
            Process p = new Process();
            ProcessStartInfo psi = new ProcessStartInfo("netsh", "interface ip set adress\"Local Area Connection\" dhcp");
            p.StartInfo = psi;
            p.Start();
        }

leider findet er den Befehl nicht.

interface ip set adress"Local Area Connection" dhcp

1.696 Beiträge seit 2006
vor 9 Jahren

Es gab schon mal ein Topic von dir wo ich gezeigt habe, wie man solche Sachen in cmd-Fenster ausführen läßt. Bitte wende es an.

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

K
Kuehter Themenstarter:in
52 Beiträge seit 2015
vor 9 Jahren

Habe das jetzt auch so geschrieben.
Problem ist nur, dass bringt auch nichts weiter der Fehler,

Befehlt nicht gefunden

ist immer noch da der Code sieht jetzt wie folgt aus:



        private void DHCP_click()
        {
            Process.Start("netsh", "interface ip set address\" Local Area Connection\"dhcp");
        }


1.696 Beiträge seit 2006
vor 9 Jahren

Das habe ich nicht gemeint, aber egal.

Bitte guck nach, ob netsh.exe auf dem Rechner existiert. Hat der ausführende User auch Adminrecht? Heißt der Adapter wirklich Local Area Connection? Hast du schon manuell versucht?

Grüße

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

K
Kuehter Themenstarter:in
52 Beiträge seit 2015
vor 9 Jahren

Gibt es da keine Möglichkeit das über die WMI Schnittstelle zu lösen?

1.696 Beiträge seit 2006
vor 9 Jahren

Ich bin verantwortlich für das, was ich sage, nicht für das, was du verstehst.

**:::

463 Beiträge seit 2009
vor 9 Jahren

Mit ein wenig Eigeninitiative (Suchbegriffe C# WMI DHCP bei Google) ganz einfach....

Ergebnis