如何在 Windows 操作系统中使用 PowerShell 打开端口?


要在 Windows 操作系统中打开端口,我们需要了解一些事项。例如

  • 我们需要为哪个配置文件打开端口(**公共、私有或域**)? - **可选**

  • 我们需要打开哪个端口(**端口号**)?

  • 端口的方向 – 入站(即 **传入请求**)或出站(即 **传出请求**)。

  • 协议名称(**TCP、UDP、ICMPv4 或 ICMPv6**)或编号(**0-255**)。

一旦我们拥有所有详细信息,我们就可以打开端口。在下面的示例中,我们需要在当前被阻止的计算机上打开端口 **5985**(**WINRM HTTP**)。因此,我们将使用以下命令。

New-NetFirewallRule -DisplayName "Allow WINRM HTTP Port" `
                    -Direction Outbound `
                    -LocalPort 5985 `
                    -Protocol TCP `
                    -Action Allow

要打开多个端口,

New-NetFirewallRule -DisplayName "Allow web ports" `
                    -Direction Outbound `
                    -LocalPort 80,8080 `
                    -Protocol TCP `
                    -Action All

打开防火墙设置后,您可以检查端口是否列在允许列表中。


要在远程计算机上执行相同的设置,您需要使用 **Invoke-Command** cmdlet。确保远程计算机可访问并且在远程计算机上打开端口之前具有 **WINRM** 连接。

Invoke-Command -ComputerName Test1-Win2k12 -ScriptBlock{
    New-NetFirewallRule -DisplayName "Allow web ports" `
    -Direction Outbound `
    -LocalPort 80,8080 `
    -Protocol TCP `
    -Action All
}

如果我们没有指定方向(**入站或出站**),则默认情况下将打开两个方向的端口。

更新于: 2020年10月16日

2K+ 浏览量

开启你的 职业生涯

通过完成课程获得认证

立即开始
广告