【问题标题】:Changing Windows firewall rules with PowerShell (Open / Close a specific port)使用 PowerShell 更改 Windows 防火墙规则(打开/关闭特定端口)
【发布时间】:2014-07-15 14:26:36
【问题描述】:

我正在对应用程序进行一些端到端测试,我需要能够使用 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 及更高版本上运行。

【问题讨论】:

  • 您使用的是哪个操作系统版本?如果是 2012/win 8 类型的帮助 firewall,则有大量的 cmdlet。
  • 我在Windows 7下本地开发,自动化服务器是Server 2008。

标签: windows powershell firewall


【解决方案1】:

只需禁用该规则。更改这一行:

$port.Enabled = $true

到这里:

$port.Enabled = $false

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

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

【讨论】:

    猜你喜欢
    • 2016-06-06
    • 2022-11-14
    • 2015-06-17
    • 1970-01-01
    • 2014-09-03
    • 1970-01-01
    • 2021-04-26
    • 1970-01-01
    • 2021-10-25
    相关资源
    最近更新 更多