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?
Unsere Website
iPhone Programmierung | Android Programmierung
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
Ja das kann ich schon, aber asp.net hat natuerlich andere rechte,...
Wie kann man nun die Rechte entsprechend anpassen?
Unsere Website
iPhone Programmierung | Android Programmierung
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!
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