2017-05-22 10 views
1

このコマンドは、VMのリストを配列に保存します。powershellを使用して、VMの名前を配列に保存します。

[string]$arrayVM = Get-VM | select Name 

それが配列の最初の要素を参照する場合:$arrayVM[0]

私はVMの名前を取得しますが、この値は次のようになります。@{name=MACHNINE_1_NAME}

私は、同じ名前を期待:MACHNINE_1_NAME

どうすればいいですか?

答えて

1
[string]$arrayVM = Get-VM | select Name 
$arrayVM[0].Name 
2
[string]$ArrayVM = (Get-VM | Select-Object -Property Name).Name 
5

あなたのSelect-Objectコマンドに-ExpandPropertyパラメータを追加する必要があります。これがしているのは、指定されたプロパティの値を展開し、パイプラインに渡される現在のオブジェクトのプロパティを制限するのではなく、パイプラインに渡します。今すぐプロパティだけを持つMicrosoft.HyperV.PowerShell.VirtualMachineオブジェクトを渡しています。代わりにNameプロパティの値を持つstringが渡されます。

$arrayVM = Get-VM | select -expand Name 
関連する問題