Tente o utilitário cmd netsh
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
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
Tente o utilitário cmd netsh
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound