首页 > 解决方案 > 关于在 Get-AzVm 中解析标记值的 Powershell 问题

问题描述

我正在尝试使用 Get-AzVm cmdlet 为每个 VM 加载单独的标签键和值记录。这些值的存储方式如下:

"标签:{"Purpose":"SQL Server","Test":"Value"}"

我想像这样加载它们:

VMID、VMName、键、值

使用 ForEach、ForEach-Object 或加载到哈希中的任何搜索或测试都不起作用,因为结果始终为空,但加载到变量中的却不是。我将非常感谢任何建议。

标签: azurepowershell

解决方案


    $vm_list = Get-AzVM -Name #######
foreach ($name in $vm_list)
    {
    $_ = $vm_list.tags.GetEnumerator() | 
    ForEach-Object{
                $k = $_.key
                $v = $_.value
                Write-Host $tagkeys.VMID, $tagkeys.Name, $k, $v
                }
   }

脚本还有更多内容,但这就是我现在的工作。使用枚举器,我预计需要将对象引用为 {0} 和 {1}。


推荐阅读