我正在对某个应用程序进行端到端测试,我需要能够使用 PowerShell 命令关闭然后打开 Windows 防火墙中的端口。我找到了一个脚本,它可以添加防火墙规则来打开端口,但我还需要能够关闭该端口。
是否可以以类似的方式关闭端口?我需要先关闭它,执行一个操作,然后重新打开它并执行另一个操作。希望这些命令可以在 Windows 7(用于本地测试)和 Server 2008 及更高版本上运行。
答案1
https://stackoverflow.com/questions/17981391/delete-firewall-rule-using-powershell-on-windows-7
上面的链接包含防火墙规则的解决方案Disabling
,Deleting
例如:
用于netsh
删除防火墙规则:
netsh advfirewall firewall delete rule name="$ruleName"
要禁用防火墙规则:
function Disable-IncomingFirewallRule($ruleName)
{
$firewall = New-Object -ComObject hnetcfg.fwpolicy2
try
{
$rule = $firewall.Rules.Item($ruleName)
$rule.Enabled = $false
Write-Host "Firewal rule disabled"
}
catch
{
Write-Host -ForegroundColor Red "Rule does not exist"
}