【发布时间】:2017-05-03 21:37:53
【问题描述】:
我已经开始使用 VMWare 的标签来协助我使用powerCLI 作为我的脚本工具进行报告和过滤。我有 tags 与 VMs 和 Hosts 相关联。
我可以使用这样的脚本检索与VMs 关联的标签:
Get-VM | Select Name,Guest,PowerState,VMHost,Tag,ResourcePool
因为 tag 包含在返回的属性中。
我不知道如何从主机或数据存储返回 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
一如既往的感谢。
【问题讨论】:
-
有趣的是,您可以从
Get-VM获得tag,但不能从Get-VMHost,因为Get-VM返回一个VirtualManchine对象,并且不包括tag属性,所以它必须包含在InventoryItem基础对象中包含的ExtensionData或CustomFields属性中。Get-VMHostcmdlet 也包含这些,所以我认为您可以在那里做完全相同的事情。
标签: powershell vmware powercli