0
にコマンドライン引数を使用するC#プログラムを作成し、ファイアウォールを有効または無効にしました。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;
私もadmin権限でアプリケーションを実行します。アプリケーションは管理者権限で自動的に実行されますが、ファイアウォールのステータスはオンまたはオフに設定されません。
cmd(netsh)で同じコマンドを実行すると、ファイアウォールがオンまたはオフになります。
これはなぜ動作しないのですか?
確かに '**'はそこにあるはずですか?あなたがそれらを削除するとどうなりますか? –
例外はありますか?エラーコード? –
このコマンドは 'netsh advfirewall allprofiles state on on'ですので、' ** 'https://technet.microsoft.com/en-us/library/dd772588を削除してください。 – Slai