このコマンドは、VMのリストを配列に保存します。powershellを使用して、VMの名前を配列に保存します。
[string]$arrayVM = Get-VM | select Name
それが配列の最初の要素を参照する場合:$arrayVM[0]
私はVMの名前を取得しますが、この値は次のようになります。@{name=MACHNINE_1_NAME}
私は、同じ名前を期待:MACHNINE_1_NAME
どうすればいいですか?
このコマンドは、VMのリストを配列に保存します。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
あなたのSelect-Object
コマンドに-ExpandProperty
パラメータを追加する必要があります。これがしているのは、指定されたプロパティの値を展開し、パイプラインに渡される現在のオブジェクトのプロパティを制限するのではなく、パイプラインに渡します。今すぐプロパティだけを持つMicrosoft.HyperV.PowerShell.VirtualMachine
オブジェクトを渡しています。代わりにName
プロパティの値を持つstring
が渡されます。
$arrayVM = Get-VM | select -expand Name