Я написал программу на C#, которая использует аргументы командной строки для включения и выключения брандмауэра.
Process proc = new Process();
string top = "netsh.exe";
proc.StartInfo.Arguments = "**Advfirewall set allprofiles state on**";
proc.StartInfo.FileName = top;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.RedirectStandardOutput = true;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.WaitForExit();
// MessageBox.Show("Disable");
button1.Text = "Set On";
status = false;
Я также запускаю приложение с правами администратора. Приложение автоматически запускается с правами администратора, но не включает и не выключает статус брандмауэра.
Когда я запускаю ту же команду в cmd (netsh), брандмауэр включается или выключается.
Кто-нибудь знает, почему это не работает?
**
должен быть там? Что будет, если их удалить? - person Patrick Hofman   schedule 18.07.2016netsh advfirewall set allprofiles state on
, поэтому удалите**
technet.microsoft.com/en-us/library/ дд772588 - person Slai   schedule 18.07.2016