2017-05-03 6 views
0

スクリプトツールとしてpowerCLIを使用してレポートとフィルタリングを支援するために、VMWareのタグを使用し始めました。私はVMsHostsの両方に関連付けられたtagsを持っています。PowerCLIを使用してESXIホストに関連付けられたタグを取得する

私はこのようなスクリプトを使ってVMsに関連するタグ取り出すことができますtagが返さ属性として含まれているため

Get-VM | Select Name,Guest,PowerState,VMHost,Tag,ResourcePool 

を。

私が理解できないことは、ホストまたはデータストアからtab値を戻す方法です。何か案は?次のスクリプトに追加します:

Get-VMHost | Get-View | Select Name, 
@{N="Cluster";E={Get-Cluster -VMHost (Get-VMHost $_.Name)}}, 
@{N="DataCenter";E={Get-Datacenter -VMHost (Get-VMHost $_.Name)}}, 
@{N="Vendor";E={$_.Hardware.SystemInfo.Vendor}}, 
@{N="Model";E={$_.Hardware.SystemInfo.Model}}, 
@{N="CPU";E={$_.Hardware.CpuInfo.NumCpuPackages}}, 
@{N="CORES";E={$_.Hardware.CpuInfo.NumCpuCores}}, 
@{N="TotalMHZ";E={[math]::round($_.Hardware.CpuInfo.Hz/1000000, 0)}}, 
@{N="UsedMem (GB)";E={[math]::round($_.Summary.QuickStats.overallMemoryUsage/1000, 2)}}, 
@{N="TotalMem (GB)";E={[math]::round($_.Hardware.MemorySize/1000000000, 2)}} | 
Export-Csv MyOutputFile.csv 

いつものようにありがとうございます。

+0

'Get-VM'は' Tag-VM'から 'tag-'を得ることができますが、 'Get-VM'は' VirtualManchine'オブジェクトを返し、 'tag'プロパティを含まないので、 'InventoryItem'ベースオブジェクトからインクルードされる' ExtensionData'または 'CustomFields'プロパティによってインクルードされなければなりません。 'Get-VMHost'コマンドレットにはそれらも含まれていますので、あなたはまったく同じことをすることができると思います。 – TheMadTechnician

答えて

0

あり、より効率的な方法は、おそらくですが、このようにプロパティを追加すると、PowerCLIの&のvCenterバージョンを実行している何

@{N="tag";E={(Get-Tagassignment -Entity $_.Name).Tag.Name}} 

を動作するはず?私はPowerCLI 6.5 & VC 5.5で記述されたGet-VM | Select Tagの動作を再現しません。

関連する問題