如何使用 PowerShell 获取 IP 地址设置?

powershellmicrosoft technologiessoftware & coding更新于 2026/2/9 22:22:17

要获取系统的 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-InterfaceIndex3|ft-AutoSize

输出

要获取远程计算机的 IP 地址设置,支持 -CimSession 参数。

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

输出

您可以应用其他参数来过滤结果,如上例所示。


相关文章