使用 powershell 将 VM 的名称保存到数组
save the name of VM to array using powershell
此命令将 VM 列表保存到数组。
[string]$arrayVM = Get-VM | select Name
引用数组第一个元素时:$arrayVM[0]
我得到了 VM 的名称,但是这个值看起来像:@{name=MACHNINE_1_NAME}
我希望只有同一个名字:MACHNINE_1_NAME
我该怎么做?
[string]$arrayVM = Get-VM | select Name
$arrayVM[0].Name
[string]$ArrayVM = (Get-VM | Select-Object -Property Name).Name
您需要将 -ExpandProperty
参数添加到 Select-Object
命令中。这样做是扩展指定 属性 的值并将其向下传递到管道,而不是限制当前对象的属性向下传递到管道。现在你正在传递一个 Microsoft.HyperV.PowerShell.VirtualMachine
对象,只有 Name
属性 完好无损。这将改为传递 string
和 Name
属性.
的值
$arrayVM = Get-VM | select -expand Name
此命令将 VM 列表保存到数组。
[string]$arrayVM = Get-VM | select Name
引用数组第一个元素时:$arrayVM[0]
我得到了 VM 的名称,但是这个值看起来像:@{name=MACHNINE_1_NAME}
我希望只有同一个名字:MACHNINE_1_NAME
我该怎么做?
[string]$arrayVM = Get-VM | select Name
$arrayVM[0].Name
[string]$ArrayVM = (Get-VM | Select-Object -Property Name).Name
您需要将 -ExpandProperty
参数添加到 Select-Object
命令中。这样做是扩展指定 属性 的值并将其向下传递到管道,而不是限制当前对象的属性向下传递到管道。现在你正在传递一个 Microsoft.HyperV.PowerShell.VirtualMachine
对象,只有 Name
属性 完好无损。这将改为传递 string
和 Name
属性.
$arrayVM = Get-VM | select -expand Name