如何使用 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
}
如果我们不指定方向(入站或出站),默认情况下两个方向的端口都会打开。

