使用PowerShell更改Windows防火墙规则(打开/关闭特定端口)

时间:2014-07-15 14:26:36

标签: windows powershell firewall

我正在做一些应用程序的端到端测试,我需要能够关闭然后使用PowerShell命令在Windows防火墙中打开一个端口。我找到了一个添加防火墙规则来打开端口的脚本,但我还需要能够关闭端口。

要打开的脚本 -

 $port = New-Object -ComObject HNetCfg.FWOpenPort
 $port.Port = 9999
 $port.Name = 'MyTestPort'
 $port.Enabled = $true

 $fwMgr = New-Object -ComObject HNetCfg.FwMgr
 $profile = $fwMgr.LocalPolicy.CurrentProfile
 $profile.GloballyOpenPorts.Add($port)

是否可以以类似的方式关闭端口?命令会是什么样的?我已尝试使用.Remove但似乎无法使其正常工作,除非它不适用于Windows 7。

希望这些命令适用于Windows 7(用于本地测试)和Server 2008及更高版本。

1 个答案:

答案 0 :(得分:0)

只需停用该规则即可。改变这一行:

$port.Enabled = $true

到此:

$port.Enabled = $false

该规则将被禁用而不是启用。

在Windows Server 2012 R2中测试过,似乎工作正常。

相关问题