为什么下面的代码没有设置我的辅助DNS服务器[C#]?

为什么下面的代码没有设置我的辅助DNS服务器[C#]?,c#,C#,如果我用UAC提示CMD以完全相同的方式进行操作,它就可以正常工作 这个“如果”来自一个组合框,我可以在其中选择一个国家。每个国家都有独特的DNS服务器。在三种情况中的两种情况下,我必须设置一个初级和一个次级。 设置一个主要的工作 if (TxtSelectCountry.SelectedIndex == 2) { DNSIP = "1.1.1.1"; alternativeDNSIP = "2.2.2

如果我用UAC提示CMD以完全相同的方式进行操作,它就可以正常工作

这个“如果”来自一个组合框,我可以在其中选择一个国家。每个国家都有独特的DNS服务器。在三种情况中的两种情况下,我必须设置一个初级和一个次级。 设置一个主要的工作

if (TxtSelectCountry.SelectedIndex == 2)
{
                DNSIP = "1.1.1.1";
                alternativeDNSIP = "2.2.2.2";

                ProcessStartInfo processSetDNS = new ProcessStartInfo();
                processSetDNS.FileName = @"C:\Windows\System32\netsh.exe";
                processSetDNS.Arguments = "interface ip set dnsservers " + "\"A-LAN\"" + " static " + DNSIP + " primary";
                using (Process proc = Process.Start(processSetDNS))
                {
                    proc.WaitForExit();
                }


                ProcessStartInfo processSetSecDNS = new ProcessStartInfo();
                processSetSecDNS.FileName = @"C:\Windows\System32\netsh.exe";
                processSetSecDNS.Arguments = "interface ip add dnsservers " + "\"A-LAN\"" + alternativeDNSIP + " Index=2";
                using (Process proc = Process.Start(processSetSecDNS))
                {
                    proc.WaitForExit();
                }
}
netsh.exe的退出代码为“0”。 退出消息=dns服务器不正确或不存在


这应该不是问题,因为我只是脱机使用它来预配置一些机器,主机器会显示相同的消息,但设置正确。

查看实际情况,然后。一旦你有了这些数据,请将其添加到你的问题中。你真正想做的是向自己展示你所做的,以不断检查哪里出了问题,哪里出了问题。你可以停下来,直到你想用你的代码去的地方,你可以选择你想检查的代码。把它写在屏幕上或者照我说的做。@Heinzi好的,就这么做了。我想知道这是否是netsh.exe命令的一般语法,但它似乎很好..谢谢。看起来第二个命令的参数是
接口ip add dnsservers“A-LAN”2.2.2.2 Index=2
。有没有可能你忘了在
“a-LAN”
2.2.2.2
之间留一个空格?哦,见鬼,你抓住我了!非常感谢你!我在整个编程领域还是新手,一点也不了解。。谢谢你的时间