要在Windows操作系统上使用PowerShell阻止端口,我们需要使用New-NetFirewallRule命令更改防火墙设置。
我们需要在计算机上阻止端口5985。下面的代码将阻止本地计算机上5985端口上的所有TCP传入请求。
New-NetFirewallRule -DisplayName "Block WINRM HTTP Port" ` -Direction Inbound ` -LocalPort 5985 ` -Protocol TCP ` -Action Block
要阻止多个端口,我们只需要在-LocalPort参数中提供多个端口即可。
New-NetFirewallRule -DisplayName "Block WINRM HTTP/S Ports" ` -Direction Inbound ` -LocalPort 5985,5986 ` -Protocol TCP ` -Action Block
若要阻止远程计算机上的端口,可以使用Invoke-Command cmdlet。确保远程计算机可以访问并且可以访问WINRM服务和端口。
Invoke-Command -ComputerName Test1-Win2k12 -ScriptBlock{ New-NetFirewallRule -DisplayName "Block web ports" ` -Direction Outbound ` -LocalPort 80,8080 ` -Protocol TCP ` -Action Block }