如何使用PowerShell獲取IP地址設定?


要獲取系統的IP地址,我們可以在cmd中使用ipconfig命令,同樣的命令也可以在PowerShell中使用。ipconfig命令顯示所有已連線和已斷開的介面卡,包括IPv4和IPv6。例如:

示例

PS C:\Users\Administrator> Ipconfig

Windows IP Configuration

Ethernet adapter Ethernet0:

   Connection-specific DNS Suffix  . :
   IPv4 Address. . . . . . . . . . . : 192.168.0.104
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.168.0.1

Tunnel adapter isatap.{27E40122-664A-404D-A4C9-4E48C0363BC5}:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Tunnel adapter Local Area Connection* 3:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::2ca8:29d5:3f57:ff97%5
   Default Gateway . . . . . . . . . :

但是,此實用程式的問題是,如果您需要篩選特定的屬性,例如介面卡名稱或IP族(IPv4或IPv6),則需要進行字串操作來篩選結果,這需要編寫大量的程式碼。PowerShell也支援類似的命令**Get-NetIPAddress**。

Get-NetIPAddress | ft -AutoSize

輸出

要僅檢索IPv4地址:

Get-NetIPAddress -AddressFamily IPv4 | ft -AutoSize

輸出

同樣,您可以檢索IPv6地址。

Get-NetIPAddress -AddressFamily IPv6 | ft -AutoSize

您還可以檢查IP地址是透過DHCP獲得還是手動配置的。在上面的IPv4示例中檢查PrefixOrigin和SuffixOrigin屬性,它們是DHCP。如果您配置了靜態IP,則這兩個屬性都會反映出來。例如:

要檢索特定介面的IP地址,請使用-InterfaceIndex引數。例如:

示例

Get-NetIPAddress -InterfaceIndex 3 | ft -AutoSize

輸出

要獲取遠端計算機的IP地址設定,可以使用-CimSession引數。

$sess = New-CimSession -ComputerName Test1-win2k16
Get-NetIPAddress -CimSession $sess | ft -AutoSize

輸出

您可以應用其他引數來篩選結果,如上例所示。

更新於:2020年11月11日

3K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告