Como adicionar / excluir regras no Firewall do Windows [fechado]

0

Eu preciso implementar uma ferramenta que adicione e exclua regras no Firewall do Windows. As regras podem ser de entrada ou saída, proibindo a comunicação em protocolos, IPs e portas especificados. Estou tendo problemas em tomar a decisão de design sobre qual das seguintes opções estou ciente de usar:

  1. PowerShell, conforme descrito, por exemplo, no link . O problema com esta opção é que (corrija-me se estiver errado) parece que não é suportado no Windows 7, enquanto a minha ferramenta deve funcionar no Windows 7, Windows 8 (.1) e, desejavelmente, versões posteriores do Windows. Além disso, não posso usar o C #, enquanto o PowerShell não se integra ao C ++, exceto (possivelmente, não tenho certeza) ligando para o processo do PowerShell, fornecendo opções de linha de comando e lendo / gravando de / para sua saída / entrada fluxos.
  2. "netsh advfirewall firewall". O problema com essa opção é que o Windows 8.1 diz que o contexto "netsh advfirewall" está obsoleto e pode ser removido de versões posteriores do Windows. Por isso, receio que, ao fazer isso, minha ferramenta não funcione no Windows 9 ou 10.
  3. Interfaces COM do firewall do Windows, como nesses exemplos link . A codificação C ++ requerida não é um problema, embora possa demorar mais do que o uso do PowerShell ou da linha de comando (netsh advfirewall firewall).

Qual opção seria a melhor decisão de design para adicionar / excluir regras do Firewall do Windows? Existem outras opções ou vantagens / desvantagens das opções listadas?

    
por Serge Rogatch 30.05.2015 / 20:56

1 resposta

1

Para o Windows 7, a maneira de fazer isso é diferente

Everything firewall-related in Server 2008/Vista / Server R2/ Windows 7, is managed through the HNetCfg.FwPolicy2 COM object

de aqui

Se você quiser usar o PowerShell, mas precisar direcionar ambas as versões do sistema operacional, eu diria que escrever 2 funções seria mais simples, já que você já sabe como fazer isso para o Windows 8.

    
por 30.05.2015 / 22:02