[C#] Adicionando Liberação de Porta no Firewall pelo C#

Hoje vou compartilhar um método para adicionar uma porta ao firewall pelo C#

Não pode esquecer de adicionar pelo nuget a seguinte classe

using NetFwTypeLib;
public void AddToFirewall(UInt16 port)
{
   INetFwMgr icfMgr = null;
   try
   {
      Type TicfMgr = Type.GetTypeFromProgID("HNetCfg.FwMgr");
      icfMgr = (INetFwMgr)Activator.CreateInstance(TicfMgr);
   }
   catch (Exception ex)
   {
      return;
   }
 
   try
   {
      INetFwProfile profile;
      INetFwOpenPort portClass;
      Type TportClass = Type.GetTypeFromProgID("HNetCfg.FWOpenPort");
      portClass = (INetFwOpenPort)Activator.CreateInstance(TportClass);
 
      // Get the current profile
      profile = icfMgr.LocalPolicy.CurrentProfile;
 
      // Set the port properties
      portClass.Scope = NET_FW_SCOPE_.NET_FW_SCOPE_ALL;
      portClass.Enabled = true;
      portClass.Protocol = NET_FW_IP_PROTOCOL_.NET_FW_IP_PROTOCOL_TCP;
      portClass.Name = "DescriptionOfRule";
      portClass.Port = (int) port;
 
      // Add the port to the ICF Permissions List
      profile.GloballyOpenPorts.Add(portClass);
   }
   catch (Exception ex)
   {
   }
}

Obrigado e até o próximo post.

DATEK Tecnologia Eletrônica
[C#] Adicionando Liberação de Porta no Firewall pelo C#
Tags:                         

Deixe uma resposta

%d blogueiros gostam disto: