Posso criar novas regras usando
netsh advfirewall firewall add rule...
e apague-os usando
netsh advfirewall firewall delete rule...
Mas não consigo encontrar uma maneira de alterar as regras existentes.
No momento implementei uma lógica onde verifico se a regra existe e se a regra existe então eu a excluo e depois insiro uma regra modificada. Mas nesta abordagem, preciso acompanhar as configurações de regras anteriores. Por exemplo, se eu quiser apenas desabilitar a regra, não posso excluir a regra existente e escrever uma nova regra sem saber quais foram as outras configurações dessa regra.
Existe uma maneira melhor de fazer o mesmo onde quero alterar um campo, mas manter tudo igual usando o arquivo bat? Obrigada.
Você pode usar o
netsh advfirewall firewall set rule
comando, que "define novos valores para propriedades de uma regra existente". Por exemplo, para desabilitar todas as regras denominadas "Servidor Web":Veja
netsh advfirewall firewall set rule /?
para mais detalhes. Notavelmente, filtros adicionais (por exemplo,profile=private
para afetar apenas o perfil Privado) vão antesnew
e outros campos para alterar vão depoisnew
.