从cmdlet中选择数组的索引

时间:2015-11-17 15:46:19

标签: powershell

我正试图通过以下方式获取我的本地IP地址:

gwmi Win32_NetworkAdapterConfiguration | Select Description,IPAddress | ?{$_.IPAddress -ne $null}

现在,这给出了适配器的描述(名称),以及字符串数组中的IPv4地址和IPv6地址。如何仅选择Select-cmdlet中的IPv4地址?我尝试了很多东西,但似乎无法找到解决方案。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用-match与regex模式匹配计算属性中的IPv4地址:

$IPv4Pattern = '^(\d{1,3}\.){3}\d{1,3}$'
gwmi Win32_NetworkAdapterConfiguration | Select Description,@{Name="IPAddress";Expr={$_.IPAddress|Where{ $_ -match $IPv4Pattern}}} | ?{$_.IPAddress -ne $null}