此命令將VM列表保存到陣列。使用powershell將VM的名稱保存到陣列
[string]$arrayVM = Get-VM | select Name
當它指向數組的第一個元素:$arrayVM[0]
我得到的虛擬機的名稱,但該值的樣子:@{name=MACHNINE_1_NAME}
我預計只有同一個名字:MACHNINE_1_NAME
我該怎麼做?
此命令將VM列表保存到陣列。使用powershell將VM的名稱保存到陣列
[string]$arrayVM = Get-VM | select Name
當它指向數組的第一個元素:$arrayVM[0]
我得到的虛擬機的名稱,但該值的樣子:@{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