如何使用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

Explore our latest online courses and learn new skills at your own pace. Enroll and become a certified expert to boost your career.

输出

同样,您可以检索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+ 浏览量

开启你的职业生涯

通过完成课程获得认证

开始学习
广告