我使用此代码从 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
。我该如何解决?
我使用此代码从 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
。我该如何解决?
在第一行中,您将值强制为 type
string
。这就是为什么$arrayVM
根本不是数组的原因(除非字符串是字符数组)。相反,第一行应该如下所示(前提是你的 PS 版本足够新):