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

powershellmicrosoft technologiessoftware & coding

要在 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
}

如果我们不指定方向(入站或出站),默认情况下两个方向的端口都会打开。


相关文章