Erste Funktionierende Version die Netzwerke einstellen kann

This commit is contained in:
2010-04-28 21:09:00 +00:00
parent 890cfc839a
commit c613dfff9f
4 changed files with 156 additions and 35 deletions
+1 -1
View File
@@ -40,9 +40,9 @@ namespace NetMonitorServer
private static void switchCommand(string data)
{
Console.WriteLine(data);
if (data.Substring(0, 3).ToLower() == "net")
new SetNetworks(data);
Console.WriteLine(data);
}
protected override void OnStart(string[] args)
+57 -21
View File
@@ -10,8 +10,47 @@ namespace NetMonitorServer
{
public SetNetworks(string data)
{
if (data.Substring(0,8).ToLower() == "net auto")
setNetworkAuto(data);
if (data.Substring(0, 8).ToLower() == "net auto")
this.setNetworkAuto(data);
if (data.Substring(0, 6).ToLower() == "net ip")
this.setNetworkIp(data);
if (data.Substring(0, 7).ToLower() == "net dns")
this.setNetworkDns(data);
if (data.Substring(0, 8).ToLower() == "net wins")
this.setNetworkWins(data);
}
private void setNetworkWins(string data)
{
String[] par = data.Split(' ');
if (par.Length != 4)
return;
if (par[2].ToLower() == "auto")
this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[3] + "\" source=dhcp");
else
this.runProgramNetsh("interface ipv4 set winsservers \"" + par[3] + "\" static " + par[2]);
}
private void setNetworkDns(string data)
{
String[] par = data.Split(' ');
if (par.Length != 4)
return;
if (par[2].ToLower() == "auto")
this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[3] + "\" source=dhcp");
else
this.runProgramNetsh("interface ipv4 set dnsservers \"" + par[3] + "\" static " + par[2] + " primary");
}
private void setNetworkIp(string data)
{
String[] par = data.Split(' ');
if (par.Length != 4 && par.Length != 6)
return;
if (par[2].ToLower() == "auto")
this.runProgramNetsh("interface ipv4 set address name=\"" + par[3] + "\" source=dhcp");
else
this.runProgramNetsh("interface ipv4 set address \"" + par[5] + "\" static " + par[2] + " " + par[3] + " " + par[4]);
}
private void setNetworkAuto(string data)
@@ -19,26 +58,23 @@ namespace NetMonitorServer
String[] par = data.Split(' ');
if (par.Length != 3)
return;
Process p1 = new Process();
p1.StartInfo.Arguments = "interface ipv4 set address name=\""+par[2]+"\" source=dhcp";
p1.StartInfo.FileName = "netsh";
p1.Start();
p1.WaitForExit();
Console.WriteLine(p1.ExitCode);
this.runProgramNetsh("interface ipv4 set address name=\""+par[2]+"\" source=dhcp");
this.runProgramNetsh("interface ipv4 set dnsservers name=\"" + par[2] + "\" source=dhcp");
this.runProgramNetsh("interface ipv4 set winsservers name=\"" + par[2] + "\" source=dhcp");
}
Process p2 = new Process();
p2.StartInfo.Arguments = "interface ipv4 set dnsservers name=\"" + par[2] + "\" source=dhcp";
p2.StartInfo.FileName = "netsh";
p2.Start();
p2.WaitForExit();
Console.WriteLine(p2.ExitCode);
Process p3 = new Process();
p3.StartInfo.Arguments = "interface ipv4 set winsservers name=\"" + par[2] + "\" source=dhcp";
p3.StartInfo.FileName = "netsh";
p3.Start();
p3.WaitForExit();
Console.WriteLine(p3.ExitCode);
private void runProgramNetsh(string args)
{
Process p = new Process();
p.StartInfo.Arguments = args;
p.StartInfo.FileName = "netsh";
p.StartInfo.CreateNoWindow = true;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.UseShellExecute = false;
p.Start();
string output = p.StandardOutput.ReadToEnd();
p.WaitForExit();
Console.WriteLine(output.Trim());
}
}
}