Я пытаюсь создать сценарий PS, который создает правило брандмауэра Windows, блокирующее порт "6672" для определенного файла .exe в соединении INBOUND, но позволяет мне иметь возможность вносить в белый список определенные IP-адреса.
Способ сделать это вручную означает, что я должен полностью заблокировать порт (6672) для моего файла .exe для ВСЕХ IP-адресов, а затем добавить диапазон, оставляя IP-адреса, которые я хочу добавить в белый список.
Например, если я хочу добавить «192.168.0.3», я должен установить диапазон для правила для «0.0.0.0» на «192.168.0.2», а затем для «192.168.0.4» на «255.255.255.255». Причина, по которой я должен был это сделать, заключалась в том, что в брандмауэре Windows похоже, что вы не можете внести в белый список отдельные IP-адреса из правила блокировки, а правила блокировки отменяют любые разрешающие правила.
Итак, возвращаясь к моей первоначальной точке, я действительно борюсь за идеи о том, как решить эту проблему в настоящее время, так как я не могу найти обходной путь. Есть ли способ, которым кто-либо знает, чтобы иметь возможность исключить определенные IP-адреса из правила, или как сделать правило разрешения приоритетным по отношению к правилу блока?
РЕДАКТИРОВАТЬ
Так что у меня есть этот код:
New-NetFirewallRule -DisplayName "GTAO" -Direction Inbound -LocalPort 6672 -Protocol UDP -Action Block
New-NetFirewallRule -DisplayName "GTAO" -Direction Outbound -LocalPort 6672 -Protocol UDP -Action Block
Я в основном хочу, чтобы что-то подобное переопределило предыдущее правило, создав "белый список" для этого правила для отдельных IP-адресов.
$UIP = Read-Host "Enter IP to whitelist"
New-NetFirewallRule -DisplayName "GTA$UIP" -Direction Inbound -LocalPort 6672 -Protocol UDP -Action Allow -RemoteAddress $UIP