--> 예제) 프로그램 로딩시 내부네트워크 제어
private void ControlInsideNetWork()
{
ProcessStartInfo cmd = new ProcessStartInfo();
Process process = new Process();
NetworkInterface[] nics = NetworkInterface.GetAllNetworkInterfaces();
//var networks = NetworkInterface.GetAllNetworkInterfaces();
cmd.FileName = @"cmd";
cmd.CreateNoWindow = false;
cmd.UseShellExecute = false;
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardInput = true;
cmd.RedirectStandardError = true;
string adapter = string.Empty;
IPHostEntry host;
string localIP = string.Empty;
host = Dns.GetHostEntry(Dns.GetHostName());
//int count = 0;
int RowCount = 0;
//활성화 여부 체크
foreach (NetworkInterface UseYn in nics)
{
if (UseYn.OperationalStatus.ToString().Trim() == "Up")
{
RowCount++;
}
}
//내부네트워크 체크
for (int i = 0; i < host.AddressList.Length; i++)
{
//if (host.AddressList[i].AddressFamily == AddressFamily.InterNetwork)
// count++;
if (host.AddressList[i].AddressFamily == AddressFamily.InterNetwork &&
host.AddressList[i].ToString().Substring(0, 3) == "172")
localIP = LocalName;
}
//개수 체크
if (RowCount > 2)
{
process.StartInfo = cmd;
process.Start();
// Command 명령어 삽입
process.StandardInput.Write(@"netsh interface set interface name = " + "\"" + localIP + "\" admin= disabled" + Environment.NewLine);
process.StandardInput.Close();
string resultValue = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
}
}
==> PC 안에 내부네트워크 셋팅함.
private void DNSSetting()
{
ProcessStartInfo cmd = new ProcessStartInfo();
Process process = new Process();
cmd.FileName = @"cmd";
cmd.CreateNoWindow = true;
cmd.UseShellExecute = false;// false
cmd.RedirectStandardOutput = true;
cmd.RedirectStandardInput = true;
cmd.RedirectStandardError = true;
foreach (NetworkInterface ni in NetworkInterface.GetAllNetworkInterfaces())
{
if (ni.NetworkInterfaceType == NetworkInterfaceType.Ethernet && ni.Name.Contains("로컬"))
{
LocalName = ni.Name;
}
}
process.StartInfo = cmd;
process.Start();
process.StandardInput.Write(@"netsh interface ipv4 set dns name = " + "\"" + LocalName + "\" static 172.31.7.30 " + Environment.NewLine);
process.StandardInput.Write(@"netsh interface ipv4 add dns name = " + "\"" + LocalName + "\" 172.31.11.30 index=2 " + Environment.NewLine);
process.StandardInput.Write(@"netsh interface ipv4 set wins name = " + "\"" + LocalName + "\" static 172.31.11.30 " + Environment.NewLine);
process.StandardInput.Write(@"netsh interface ipv4 add wins name = " + "\"" + LocalName + "\" 172.31.7.30 index=2 " + Environment.NewLine);
process.StandardInput.Close();
string resultValue = process.StandardOutput.ReadToEnd();
process.WaitForExit();
process.Close();
}
댓글 없음:
댓글 쓰기