在 PowerShell 中獲取 IPv4 地址
-
使用
Get-NetIPAddress
將 IPv4 地址獲取到 PowerShell 中的變數中 -
使用
Get-NetIPConfiguration
將 IPv4 地址獲取到 PowerShell 中的變數中 -
使用
Dns 類
將 IPv4 地址獲取到 PowerShell 中的變數中 -
使用
Get-WmiObject
將 IPv4 地址獲取到 PowerShell 中的變數中 -
使用
Test-Connection
將 IPv4 地址獲取到 PowerShell 中的變數中
系統管理員可以在 PowerShell 中執行各種任務,包括網路任務。
例如,PowerShell 允許你列出 IP 地址和 IP 配置、ping 計算機、檢索網路介面卡屬性、執行 DHCP 配置任務以及建立/刪除網路共享。
IP 表示 Internet 協議,v4 表示第四版。
IPv4 地址是 32 位整數,用於標識機器上的網路介面。它以點分十進位制表示法表示。
它有四個用句點分隔的 8 位欄位,每個 8 位欄位代表 IPv4 地址的一個位元組。本教程將教你將 IPv4 地址獲取到 PowerShell 中的變數中。
使用 Get-NetIPAddress
將 IPv4 地址獲取到 PowerShell 中的變數中
Get-NetIPAddress
cmdlet 獲取 IP 地址配置,例如 IPv4 地址、IPv6 地址和與地址關聯的 IP 介面。
當它不帶引數執行時,它會列印計算機的整個 IP 地址配置。
--AddressFamily
引數用於指定 IP 地址系列的陣列。Get-NetIPAddress
使用此引數獲取與地址系列匹配的 IP 地址配置。
接受的值為 IPv4
和 IPv6
。
例如,以下命令獲取有關計算機上所有 IPv4 地址的 IP 地址配置的資訊。
Get-NetIPAddress -AddressFamily IPv4
此命令僅將計算機的 IPv4
地址放入變數 $ipv4
。
$ipv4 = (Get-NetIPAddress | Where-Object {$_.AddressState -eq "Preferred" -and $_.ValidLifetime -lt "24:00:00"}).IPAddress
$ipv4
輸出:
192.168.2.33
你還可以使用以下命令在 PowerShell 中獲取 IPv4 地址。
Get-NetIPAddress -AddressFamily IPv4 -InterfaceIndex $(Get-NetConnectionProfile | Select-Object -ExpandProperty InterfaceIndex) | Select-Object -ExpandProperty IPAddress
輸出:
192.168.2.33
使用 Get-NetIPConfiguration
將 IPv4 地址獲取到 PowerShell 中的變數中
Get-NetIPConfiguration
cmdlet 獲取網路配置,包括 IP 地址和 DNS 伺服器。
此 cmdlet 在不帶任何引數執行時獲取計算機上所有非虛擬連線介面的 IP 配置屬性。
以下命令將 IPv4 地址放入變數 $ipv4
。
$ipv4 = (Get-NetIPConfiguration | Where-Object {$_.IPv4DefaultGateway -ne $null -and $_.NetAdapter.status -ne "Disconnected"}).IPv4Address.IPAddress
$ipv4
輸出:
192.168.2.33
使用 Dns 類
將 IPv4 地址獲取到 PowerShell 中的變數中
Dns 類
是一個靜態類,它從 Internet 域名系統 (DNS) 獲取有關特定主機的資訊。GetHostAddresses
方法返回指定主機的 IP 地址。
例如,以下命令獲取 LAPTOP-B045GB7Y
的 IPv4 地址,即這臺計算機的裝置名稱。你必須將其替換為你的裝置名稱才能獲得計算機的 IPv4 地址。
$ipv4 = ([System.Net.DNS]::GetHostAddresses('LAPTOP-B045GB7Y') | Where-Object {$_.AddressFamily -eq "InterNetwork"} | select-object IPAddressToString)[0].IPAddressToString
$ipv4
輸出:
192.168.2.33
使用 Get-WmiObject
將 IPv4 地址獲取到 PowerShell 中的變數中
Get-WmiObject
cmdlet 獲取 Windows Management Instrumentation (WMI) 類的例項或有關可用 WMI 類的資訊。
Win32_NetworkAdapterConfiguration
是一個 WMI 類,表示網路介面卡的屬性和行為。
你可以執行以下命令將 IPv4 地址獲取到 PowerShell 中的變數 $ipaddr
。
$ipaddr = (Get-WmiObject -Class Win32_NetworkAdapterConfiguration | where {$_.DHCPEnabled -ne $null -and $_.DefaultIPGateway -ne $null}).IPAddress | Select-Object -First 1
$ipaddr
輸出:
192.168.2.33
使用 Test-Connection
將 IPv4 地址獲取到 PowerShell 中的變數中
Test-Connection
cmdlet 將 ICMP 回顯請求資料包或 ping 傳送到一臺或多臺計算機並返回回顯響應回覆。它還可以確定是否可以通過 IP 網路聯絡特定計算機。
你可以執行以下命令將 IPv4 地址放入變數 $ipv4
。
$ipv4 = (Test-Connection -ComputerName (hostname) -Count 1 | Select -ExpandProperty IPv4Address).IPAddressToString
$ipv4
如果你有任何虛擬介面卡,它會返回虛擬介面卡的 IPv4 地址(例如 VPN、Hyper-V、Docker)。
輸出:
192.168.26.1
你也可以使用此命令返回與上述相同的輸出。
(Test-Connection -ComputerName $env:computername -count 1).IPv4Address.IPAddressToString
輸出:
192.168.26.1