(netstat -ano) -replace '0\.0\.0\.0:(\d )','$1 '
我想要的是使用上面的代碼只顯示本地地址和pid
Proto Local Address Foreign Address State PID
TCP 135 0 LISTENING 1172
TCP 445 0 LISTENING 4
TCP 5040 0 LISTENING 7300
TCP 5357 0 LISTENING 4
TCP 7680 0 LISTENING 14100
TCP 49664 0 LISTENING 988
TCP 49665 0 LISTENING 896
TCP 49666 0 LISTENING 1724
TCP 49667 0 LISTENING 1472
TCP 49668 0 LISTENING 3520
TCP 49728 0 LISTENING 968
但我想要什么
Local Address PID
135 1172
445 4
5040 7300
. .
. .
. .
uj5u.com熱心網友回復:
要獲得您在 Powershell 中通過列標題請求的輸出,您可以使用:
Get-NetTCPConnection |
Select-Object LocalAddress, OwningProcess |
Sort-Object LocalAddress, OwningProcess
您的示例資料似乎顯示埠而不是地址,因此:
Get-NetTCPConnection |
Select-Object LocalPort, OwningProcess |
Sort-Object LocalPort, OwningProcess
如果您還需要UDP連接,替代Get-NetUDPEndpoint了Get-NetTCPConnection上面。
最后,如果你想把它們放在一起:
(Get-NetUDPEndpoint |
Select-Object @{L="Proto"; E={"TCP"}}, LocalAddress, LocalPort, OwningProcess
) (Get-NetTCPConnection |
Select-Object @{L="Proto"; E={"UDP"}}, LocalAddress, LocalPort, OwningProcess
) |
Sort-Object Proto, LocalPort, LocalAddress
uj5u.com熱心網友回復:
您已經獲得了所需的資訊,現在只需使用令人討厭的正則運算式回圈修剪掉多余的屬性?可能需要一些間距調整
(netstat -ano) `
-replace '0\.0\.0\.0:(\d )','$1 '|
foreach{
Write-host `
-nonewline "$([regex]::split("$_",'\s\s ')[2,5])`r`n"
}
我使用了嚴重的口音(poweshell 轉義鍵)來逃避換行符以提高可讀性|將管道到下一行的任何內容
uj5u.com熱心網友回復:
這會做你想要的嗎?我假設“本地地址”是指埠號,“PID”是指擁有的行程 ID。如果可以避免的話,我不想重命名它們。
Get-NetTCPConnection |
Where-Object { $_.LocalAddress -notmatch '^(127\..*|192\..*|0\..*|::$)' } |
Select-Object -Property @{n='LocalAddress';e={$_.LocalPort}},@{n='PID';e={$_.OwningProcess}} |
Sort-Object -Property LocalAddress
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/372243.html
上一篇:如何從腳本輸出文本或回傳物件?
