我在互聯網上找到了這段代碼,它聲稱[,],{,}從 IP 地址欄位中洗掉所有字符。但是,它不起作用(在 PowerShell 5.1 上)。我非常喜歡這個概念,并想使用這個的作業版本:
get-wmiobject win32_networkadapterconfiguration | where {$_.IPAddress -ne $Null} | select @{label="IP address";Expression={$_.IPAddress -replace '[{}]',''}}, MACAddress
- 我怎樣才能讓它作業,即
[,],{,}從 IPAddress 欄位中洗掉? - 此外,我如何拆分地址,使 IPv4 在一列中,而 IPv6 地址在另一列中?
uj5u.com熱心網友回復:
您的 IP 地址串列實際上是陣列,這 ( {<item1>, <item2>, <itemX>}) 就是陣列在 PowerShell中的顯示方式。換句話說,你可以這樣做:
Expression={"$($_.IPAddress)"}
要將 IP4 地址與 IP6 地址分開,您可以執行以下操作:
get-wmiobject win32_networkadapterconfiguration |
Where-Object {$_.IPAddress -ne $Null} |
Select-Object @{label="IP4 address";Expression={"$($_.IPAddress -like '*.*')"}},
@{label="IP6 address";Expression={"$($_.IPAddress -like '*:*')"}},
MACAddress
uj5u.com熱心網友回復:
替換不起作用的原因是因為您正在取回一個物件并且替換正在查找該內容,在沒有內容的情況下,{[]}您可以通過加入內容以從該串列中獲取字串來解開串列。
get-wmiobject win32_networkadapterconfiguration | where {$_.IPAddress -ne $Null} | select @{label="IP address";Expression={$_.IPAddress -join ', '}}, MACAddress
這會給你一些東西
IP address MACAddress
---------- ----------
111.222.333.1, fe11::2222:3333:c4d4:555a 00:11:22:33:44:55
111.222.33.44, fe11::f222:3a33:c444:555a 55:44:33:22:11:00
111.222.333.1, fe11::b222:ac33:d444:5552 00:A5:B2:C3:4F:5E
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/490483.html
下一篇:從字串C#中獲取兩個浮點數
