在 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