Laden...

IP nicht setzbar

Erstellt von Ploetzi vor 13 Jahren Letzter Beitrag vor 13 Jahren 1.639 Views
Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 13 Jahren
IP nicht setzbar

Hallo,
habe jetzt ein XP System, welches es nicht erlaubt die IP Adresse mit folgendem Code zu setzen:

using System;
using System.Collections.Generic;
using System.Text;
using System.Management.Instrumentation;

using System.Management;

namespace at.rctec.WebServerMobile
{
    public class IPAdressChanger
    {

        public static void setIP(string IPAddress, string SubnetMask, string Gateway)
        {
            ManagementClass objMC = new ManagementClass(
                "Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection objMOC = objMC.GetInstances();
            foreach (ManagementObject objMO in objMOC)
            {
                if (!(bool)objMO["IPEnabled"])
                    continue;



                try
                {
                    ManagementBaseObject objNewIP = null;
                    ManagementBaseObject objSetIP = null;
                    ManagementBaseObject objNewGate = null;


                    objNewIP = objMO.GetMethodParameters("EnableStatic");
                    objNewGate = objMO.GetMethodParameters("SetGateways");



                    //Set DefaultGateway

                    objNewGate["DefaultIPGateway"] = new string[] { Gateway };
                    objNewGate["GatewayCostMetric"] = new int[] { 1 };


                    //Set IPAddress and Subnet Mask
                    objNewIP["IPAddress"] = new string[] { IPAddress };
                    objNewIP["SubnetMask"] = new string[] { SubnetMask };

                    objSetIP = objMO.InvokeMethod("EnableStatic", objNewIP, null);
                    objSetIP = objMO.InvokeMethod("SetGateways", objNewGate, null);


                }
                catch (Exception ex)
                {
                    System.Diagnostics.Debug.WriteLine("Kann ip nicht setzen:" + ex.ToString());
                }
            }
        }
    }
}

Und das geht aber auf anderen Systemen?
Wer hat eine Idee?

K
593 Beiträge seit 2007
vor 13 Jahren

Hallo Ploetzi,

es ist wahrscheinlich das nahliegenste aber kann es sein das der Benutzer nicht die entsprechenden Rechte dafür hat? Sprich kann er die IP von hand ändern?

Viele Grüße,

Kaji

Ploetzi Themenstarter:in
313 Beiträge seit 2006
vor 13 Jahren

Ja das kann ich schon, aber asp.net hat natuerlich andere rechte,...
Wie kann man nun die Rechte entsprechend anpassen?

203 Beiträge seit 2006
vor 13 Jahren

ich würde nen WinService schreiben, mit dem deine ASP seite über z.b. namedpipes (oder auch WCF) kommuniziert und der dann die IP setzt!

3.170 Beiträge seit 2006
vor 13 Jahren

Hallo Ploetzi,

das mit den Berechtigungen hattest Du doch schonmal hier:
ASP.NET: Nötige Rechte vergeben/erlangen, um einen anderen Prozess beenden zu dürfen

Hat das nicht funktioniert?

Gruß, MarsStein

Non quia difficilia sunt, non audemus, sed quia non audemus, difficilia sunt! - Seneca