Powershell
PowerShell:如何打開 Windows 防火牆埠
我需要使用 PowerShell 在 Windows 防火牆上打開一個埠,所以我這樣做了
netsh advfirewall firewall add rule name = "Open port 4443 test" dir=in action=allow protocol=TCP localport=4443
進而
Test-NetConnection -Port 4443 -ComputerName localhost
檢查埠是否已打開但仍處於關閉狀態。
所以我嘗試使用另一個命令:
New-NetFirewallRule -DisplayName "Allow inbound TCP port 4443" -Direction inbound -LocalPort 4443 -Protocol TCP -Action Allow
但仍然沒有喜悅。
那麼問題來了:如何通過PowerShell打開4443埠?
**編輯:**該規則已創建到 Windows 防火牆中,但我需要一個返回真/假檢查響應的命令
要在評論中回答您的問題: 製作一個 PowerShell 腳本,如果埠是否打開,則返回您,所以我需要 PowerShell 的正面/負面響應
也許這可以幫助您,使用
System.Net.Sockets.TcpClient
該類來測試埠是打開還是關閉。看下面的程式碼:$ErrorActionPreference = "silentlycontinue" $tcp = New-Object System.Net.Sockets.TcpClient $tcp.Connect("localhost","1234") $tcp.Connected
$tcp.connected``true
如果連接成功,將返回。False
如果它不會成功。該$ErrorActionPreference = "silentlycontinue"
變數將抑制錯誤消息。例子: