【问题标题】:Using PowerCLI to get a tag associated with ESXI Host使用 PowerCLI 获取与 ESXI 主机关联的标签
【发布时间】:2017-05-03 21:37:53
【问题描述】:

我已经开始使用 VMWare 的标签来协助我使用powerCLI 作为我的脚本工具进行报告和过滤。我有 tagsVMsHosts 相关联。

我可以使用这样的脚本检索与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 基础对象中包含的ExtensionDataCustomFields 属性中。 Get-VMHost cmdlet 也包含这些,所以我认为您可以在那里做完全相同的事情。

标签: powershell vmware powercli


【解决方案1】:

可能有一种更有效的方法,但是添加这样的属性应该可以工作

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

您正在运行哪些 PowerCLI 和 vCenter 版本?我不会使用 PowerCLI 6.5 和 VC 5.5 重新创建所描述的 Get-VM | Select Tag 行为。

【讨论】:

    猜你喜欢
    • 2023-02-10
    • 2020-01-25
    • 2021-10-24
    • 2019-02-23
    • 1970-01-01
    • 1970-01-01
    • 2021-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多