Я пытаюсь управлять брандмауэром Windows Server 2012 (R2) с помощью команд PowerShell (см. https://technet.microsoft.com/en-us/library/hh831755.aspx#BKMK_ProfileGlobalDefaults, например, и ссылка).
На моих Linux-машинах я мог отслеживать состояние соединения с IPTables, используя conntrack
, чтобы иметь возможность разрешать установленные и связанные соединения ( http: // www. iptables.info/en/connection-state.html ). Я не нашел эквивалента в брандмауэре Windows.
Есть ли способ сделать это в Windows Server с помощью PowerShell? Я поискал по всему Интернету и не нашел ничего подходящего.
Вы можете запрашивать активные TCP-соединения, прослушивающие порты, процессы и т. Д. С помощью команды netstat в Windows.
https://technet.microsoft.com/ en-us / library / ff961504.aspx
Для вашего сценария вы можете объединить netstat его с некоторой оболочкой PowerShell, чтобы выполнять фильтрацию и синтаксический анализ, а также создавать команды брандмауэра. Например, этот сценарий принимает команду netstat и расширяет ее, чтобы предоставить имена процессов и фильтрацию.
https://gallery.technet.microsoft.com/scriptcenter/Get-NetworkStatistics-66057d71
Изменение правил брандмауэра повлияет на установленные соединения. см. этот ответ Влияют ли новые правила брандмауэра Windows на открытые соединения?
пора отказаться от Windows, linux iptables — это магия.