我有类似以下的非工作代码:
$list = Get-VM | format-table VMElementName -HideTableHeaders | out-string
$array=@($list)
Write-Host $array[1]
我最终得到的是$ array [0],其中包含数据列表,$ array [1]或更高版本中没有值。
String1
String2
String3
解析此列表以填充数组的最佳方法是什么?
答案 0 :(得分:1)
最简单的方法是使用Select -ExpandProperty选择所需的属性:
$array = Get-VM | select -ExpandProperty VMElementName
如果您正在运行V3或更高版本,则可将其缩短为:
$array = (Get-VM).VMElementName
答案 1 :(得分:0)
您不需要额外的转换逻辑。请给我们以下
$array = ( Get-VM | format-table VMElementName -HideTableHeaders )
Write-Host $array[0]