Exemplo n.º 1
0
 public static void CloseFileWall()
 {
     // 1. 判断当前系统为XP或Win7
     //RegistryKey rk = Registry.LocalMachine.OpenSubKey(@"Software\\Microsoft\\Windows NT\\CurrentVersion");
     //var VersionName = rk.GetValue("ProductName").ToString();
     //rk.Close();
     // 2.关闭防火墙
     //if (VersionName.Contains("XP"))
     //{
     //    RegistryKey rekey = Registry.LocalMachine.OpenSubKey(@"SYSTEM\\CurrentControlSet\\Services\\SharedAccess\\Parameters\\FirewallPolicy\\StandardProfile", true);
     //    var Enablefilewall = rekey.GetValue("EnableFirewall").ToString();
     //    if (Enablefilewall == "1")
     //    {
     //        rekey.SetValue("EnableFirewall", 0);
     //    }
     //    rekey.Close();
     //}
     //else
     {
         INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
         // 禁用<高级安全Windows防火墙> - 专有配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE, false);
         // 禁用<高级安全Windows防火墙> - 公用配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC, false);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Set the firewall status (enabled or disabled).
        /// </summary>
        /// <param name="enable">True to enable, or false to disable.</param>
        public static void SetFirewall(bool enable)
        {
            NET_FW_PROFILE_TYPE2_ currentProfileTypes;
            INetFwPolicy2         policy = GetCurrentPolicy();

            currentProfileTypes = (NET_FW_PROFILE_TYPE2_)policy.CurrentProfileTypes;
            policy.set_FirewallEnabled(currentProfileTypes, enable);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 通过对象防火墙操作
 /// </summary>
 /// <param name="isOpenDomain">域网络防火墙(禁用:false;启用(默认):true)</param>
 /// <param name="isOpenPublicState">公共网络防火墙(禁用:false;启用(默认):true)</param>
 /// <param name="isOpenStandard">专用网络防火墙(禁用: false;启用(默认):true)</param>
 /// <returns></returns>
 public static bool FirewallOperateByObject(bool isOpenDomain = true, bool isOpenPublicState = true, bool isOpenStandard = true)
 {
     try
     {
         INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
         // 启用<高级安全Windows防火墙> - 专有配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE, isOpenStandard);
         // 启用<高级安全Windows防火墙> - 公用配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC, isOpenPublicState);
         // 启用<高级安全Windows防火墙> - 域配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN, isOpenDomain);
     }
     catch (Exception e)
     {
         string error = $"防火墙修改出错:{e.Message}";
         //throw new Exception(error);
         System.Windows.Forms.MessageBox.Show(error);
         return(false);
     }
     return(true);
 }
Exemplo n.º 4
0
 /// <summary>
 /// 防火墙操作
 /// </summary>
 /// <param name="isOpenDomain">域网络防火墙(禁用:false;启用(默认):true)</param>
 /// <param name="isOpenPublicState">公共网络防火墙(禁用:false;启用(默认):true)</param>
 /// <param name="isOpenStandard">专用网络防火墙(禁用: false;启用(默认):true)</param>
 /// <returns></returns>
 public static bool FirewallOpen(bool isOpenDomain = true, bool isOpenPublicState = true, bool isOpenStandard = true)
 {
     try
     {
         if (!IsAdministrator)
         {
             throw new Exception("操作防火墙必须已管理员身份运行。");
         }
         INetFwPolicy2 firewallPolicy = (INetFwPolicy2)Activator.CreateInstance(Type.GetTypeFromProgID("HNetCfg.FwPolicy2"));
         // 启用<高级安全Windows防火墙> - 专有配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE, isOpenStandard);
         // 启用<高级安全Windows防火墙> - 公用配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC, isOpenPublicState);
         // 启用<高级安全Windows防火墙> - 域配置文件的防火墙
         firewallPolicy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN, isOpenDomain);
     }
     catch (Exception e)
     {
         string error = $"防火墙修改出错:{e.Message}";
         throw new Exception(error);
     }
     return(true);
 }
Exemplo n.º 5
0
 public static void SetFirewallStatus(bool newStatus)
 {
     try
     {
         NET_FW_PROFILE_TYPE2_ fwCurrentProfileTypes;
         INetFwPolicy2         currPolicy = getCurrPolicy();
         //read Current Profile Types (only to increase Performace)
         //avoids access on CurrentProfileTypes from each Property
         fwCurrentProfileTypes = (NET_FW_PROFILE_TYPE2_)currPolicy.CurrentProfileTypes;
         currPolicy.set_FirewallEnabled(fwCurrentProfileTypes, newStatus);
     }
     catch (Exception e)
     {
         Logger.Log(e.ToString());
     }
 }
Exemplo n.º 6
0
 private Boolean changeStatus(NET_FW_PROFILE_TYPE2_ fwProfile, Boolean enabled)
 {
     fw.set_FirewallEnabled(fwProfile, enabled);
     return(true);
 }
 public static void Enable_Firewall()
 {
     policy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PUBLIC, true);
     policy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_PRIVATE, true);
     policy.set_FirewallEnabled(NET_FW_PROFILE_TYPE2_.NET_FW_PROFILE2_DOMAIN, true);
 }
        public void SetFirewallStatus(INetFwPolicy2 currentPolicy, bool newStatus)
        {
            var fwCurrentProfileTypes = (NET_FW_PROFILE_TYPE2_)currentPolicy.CurrentProfileTypes;

            currentPolicy.set_FirewallEnabled(fwCurrentProfileTypes, newStatus);
        }