
вкратцеКак с помощью Powershell проверить, разрешает ли брандмауэр Windows запуск приложения?
Используя Windows 10, я хочу программно проверить, разрешено ли приложению проходить через брандмауэр Windows Defender. По сути, я хочу проверить диалоговое окно брандмауэраРазрешить приложениям взаимодействовать через брандмауэр Защитника Windowsс помощью Powershell.
Например, если программа python.exe
установлена в C:\Program Files\Python\python.exe
, как я могу проверить, разрешено ли этому приложению взаимодействовать с различными сетями?Домен,Частный,Публичныйиз скрипта Powershell?
решение1
Я использовал это несколько лет назад: https://medium.com/@glizzykingdreko/открыть-порт-на-windows-firewall-с-простым-скриптом-powershell-dc5cc48d013a
Сценарий:
[int]$port = 3777
)
$ruleName = "Allow Port $port"
# Check if the rule already exists
$existingRule = Get-NetFirewallRule -DisplayName $ruleName -ErrorAction SilentlyContinue
if ($existingRule) {
Write-Host "Firewall rule '$ruleName' already exists."
} else {
# Create a new inbound rule for the specified port
New-NetFirewallRule -DisplayName $ruleName -Direction Inbound -Action Allow -Protocol TCP -LocalPort $port
Write-Host "Firewall rule '$ruleName' created."
}
Затем запустите скрипт из папки: .\scriptname.ps1 -port 5000