Search code examples
c#windowsfirewallcisco

C# - How to chceck if external firewall is enabled?


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?


Solution

  • 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.