-->

C# - How to chceck if external firewall is enabled

2019-01-27 08:00发布

问题:

We want to use Cisco NAC and need to check if client Desktop has a firewall installed. This may be not the default Windows Firewall.

Is there some Windows registry key that can be checked?

回答1:

For non-Windows firewalls, you can use WMI API to detect the presence of a firewall if it's registered with Windows.

Namespace = "Root\SecurityCenter2"  (might be "Root\SecurityCenter" on pre-vista)
Query = "SELECT * From FirewallProduct"

And you can use this little gem to detect if it's actually on or off.

For Windows Firewall detection, it's INetFwMgr and friends.



回答2:

Maybe just check if you can establish connection, if you can't - display a message that user should check firewall if it's installed?