質問

プログラムで発信Windowsファイアウォールルールを作成しようとしています。さらに、この規則をプログラムで有効にして無効にしたいと思います。C#でこれを行うことについてどうすればいいですか?手動で、コントロールパネルに入り、Windowsファイアウォールをクリックしてから詳細設定をクリックすることでこれを行うことができます。

役に立ちましたか?

解決

netsh advfirewallコマンド構文を小さなライブラリにまとめて、オンデマンドの設定を有効/無効にすることができます。それに失敗した、 http://高度なセキュリティAPIを持つWindowsファイアウォールの場合は、msdn.microsoft.com/en-us/library/windows/desktop/ff956124(v=vs.85).aspx

他のヒント

Windowsライブラリc:\ windows \ system32 \ firewallapi.dllを使用するのはNICERです。Windows 7. Project Referencesに追加する場合、またはTLBimp.exeを使用して手動でラッパーを作成する場合は、このDLLがこのCOMライブラリにラッパーを追加するために使用できます。

using NetFwTypeLib;

INetFwRule firewallRule = (INetFwRule)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FWRule"));
firewallRule.Action = NET_FW_ACTION_.NET_FW_ACTION_BLOCK;
firewallRule.Description = "Your rule description";
firewallRule.Direction = NET_FW_RULE_DIRECTION_.NET_FW_RULE_DIR_IN; // inbound
firewallRule.Enabled = true;
firewallRule.InterfaceTypes = "All";
firewallRule.RemoteAddresses = "1.2.3.0/24"; // add more blocks comma separated
firewallRule.Name = "You rule name";
firewallPolicy.Rules.Add(firewallRule);
.

VS IntelliSenseはあなたにlibに十分な詳細を与えるべきです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top