如何转换PowerShell数组以避免OverloadDefinitions

时间:2018-08-03 08:37:37

标签: arrays powershell

Test-OnlineFast是一个(很棒的)自定义函数,它以令人难以置信的快速创建带有以下输出的数组:

enter image description here

我可以单独使用此输出,但是如果我想使用以下命令仅列出地址:

$Pinged = Test-OnlineFast $MyIPList.ipaddress    
$Pinged.Address

我收到输出:

enter image description here

即使数组是标准类型: enter image description here

这使我无法执行将数组与另一个数组进行比较并匹配地址的操作。

有什么办法可以“转换”数组,所以我可以通过这种方式使用它?我尝试将其导出到CSV或文本文件中,然后导入,但是相同。

1 个答案:

答案 0 :(得分:2)

您可以将数组转换为List<psobject>

$list = [System.Linq.Enumerable]::ToList([psobject[]]$Array)

由于List<psobject>没有名为Address的属性,因此您现在可以依靠属性枚举:

$list.Address