Editando a política local do Firewall do Windows via Powershell

3

Estou escrevendo um script grande que segue e aplica uma carga de configurações de política local por meio do Powershell. A maior parte disso é feita exportando a configuração de segurança atual via Secedit, passando isso para um arraylist, adicionando / atualizando valores conforme necessário, depois exportando o arraylist e importando de volta usando o Secedit.

Meu problema é que preciso definir a diretiva local do Firewall (Configuração do Computador \ Diretivas \ Configurações do Windows \ Configurações de Segurança \ Firewall do Windows com Segurança Avançada \ Firewall do Windows com Segurança Avançada \ Propriedades do Firewall do Windows \ Perfil do Domínio \ Firewall) e isso me fez ficar preso.

Eu sou capaz de manipular as configurações do Firewall local usando

   $Domain = Get-NetFirewallProfile -name domain
   $domain | Set-NetFirewallProfile -DefaultInboundAction allow

Mas isso não está manipulando a política.

Eu também sou capaz de manipular as chaves do registro que são gravadas / atualizadas quando a política é alterada, no entanto, alterá-las não mostra a política como mudando, por exemplo:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\enablefirewall=4,1

Alterado para:

HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile\enablefirewall=4,0

Não mostra a política como alterada, se um gpupdate / force é executado - esta configuração é apagada (a partir da memória isso ocorre porque a Política está contida no banco de dados de segurança em c: \ windows \ security)

Eu tentei adicionar a Reg Key ao arquivo que é importado via secedit - que carrega com sucesso, mas não manipula a configuração.

Eu tentei usar o open-netgpo - mas não consigo, pois não é uma máquina associada ao Domínio (e nunca será Domínio ingressado) e não posso passar uma opção válida para o policystore para manipulá-lo Política de firewall

Eu gostaria de ter isso controlado pela Política Local, em vez de apenas a configuração ativa do Firewall.

Espero que haja uma maneira de alterar a política do Firewall usando o Powershell para que eu possa concluir o que preciso de maneira automatizada.

Obrigado

    
por user399764 10.02.2017 / 05:40

1 resposta

1

Tente o utilitário cmd netsh

netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound 
    
por 16.02.2017 / 16:56