学习 powershell,尝试找出如何解析该结果集中的第一个值:
IPAddresses
-----------
{10.60.50.40, fe80::5ddf:a8f4:e29c:b66}
Powershell
通常我只是查找它,但是,我不知道 {x, x} 是否是土地中的标准数据类型。
我是否必须进行粗略的字符串解析,或者是否有一些标准命令来提取第一个,例如:
... | Select-Object IPAddresses | Select-String [0]
(我刚刚编造了选择字符串部分。我迷路了。)
答案1
这是我目前所拥有的:
... Select-Object IPAddresses | ForEach {$_.IPAddresses}[0]
返回第一个。
答案2
尝试一下:
$myResultSet | foreach { $_.IPAddresses[0] }
答案3
尝试
$myResultSet | Select-Object -First 1 IPAddress
您的结果集是某种类型的集合。cmdletSelect-Object
会提取该集合中的第一个项目,然后筛选出仅IPAddress
显示的属性。
在我的计算机上,上述命令的输出如下所示。您的计算机可能会有所不同,因为返回的地址会有所不同
IPAddress
---------
fe80::5581:4fbc:fc22:ec79%13
您获得表格是因为默认情况下 PowerShell 会将输出放出来Format-Table
以便进行漂亮的显示。
如果只想访问 IP 地址本身,可以稍微修改一下表达式:
$myResultSet.IPAddress|Select-Object -First 1
或者,通过使用点符号和集合索引,您可以Select-Object
完全避免使用,如下所示:
$myResultSet[0].IPAddress
上面直接引用了集合IPAddress
中第一个项目的属性$myResultSet
,其索引为零,因此$myResultSet[0]
其中任何一个都将返回 IP 地址本身,如下所示:
fe80::5581:4fbc:fc22:ec79%13