在 powershell 中标记字符串数组

在 powershell 中标记字符串数组

我使用此代码从 vSphere 检索虚拟机列表。

[string]$arrayVM = (Get-VM | Select-Object -Property Name).Name
Write-Host($arrayVM)

很好,因为我得到了以下输出

N1.windows1 N2.linux1 N3.linux2

但是,当我使用 时Write-Host($arrayVM[0]),我得到的是N。我希望得到N1.windows1。我该如何解决这个问题?

答案1

在第一行中,您将值强制转换为类型string。这就是为什么$arrayVM根本不是数组的原因(除了字符串是字符数组的意义上)。

相反,第一行应该如下所示(假设您的 PS 版本足够新):

[string[]]$arrayVM = (Get-VM).Name

相关内容