使用1.0.1,运行以下脚本不会产生错误。但是,在预览门户GUI中查看VM标签后,标签不会显示。我错过了什么?
$tags = (Get-AzureRmResource -ResourceGroupName "myresourcegroup" -ResourceType "Microsoft.Compute/virtualMachines" -Name "myserver").Tags
$tags += @{Name1="name1";Value1="value1"}
$tags += @{Name2="name2";Value2="value2"}
$tags += @{Name3="name3";Value3="value3"}
$tags += @{Name4="name4";Value4="value4"}
Set-AzureRmResource -ResourceGroupName "myresourcegroup" -Name "myserver" -Tag $tags -ResourceType "Microsoft.Compute/virtualMachines"
确认:
Are you sure you want to update the following resource:
/subscriptions/{guid}/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myserver
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
输出:
Name : b5bd3server044
ResourceId : /subscriptions/{guid}/resourceGroups/myresourcegroup/providers/Microsoft.Compute/virtualMachines/myserver
ResourceName : myserver
ResourceType : Microsoft.Compute/virtualMachines
ResourceGroupName : myresourcegroup
Location : eastus2
SubscriptionId : {guid}
Tags : {}
Properties : @{VmId={guid}; HardwareProfile=; StorageProfile=; OsProfile=; NetworkProfile=;
DiagnosticsProfile=; ProvisioningState=Succeeded}
答案 0 :(得分:1)
我已经测试了您的代码并找出了问题的根本原因。
这是因为你的新标签对象属性是错误的,即Name1,Value1 ......
您应该仅使用名称和值作为标记属性。
$tags += @{Name="name1";Value="value1"}
$tags += @{Name="name2";Value="value2"}
$tags += @{Name="name3";Value="value3"}
$tags += @{Name="name4";Value="value4"}
只需修复此代码,您的代码就可以正常运行。
以下是Microsoft在使用Azure资源标记时提供的一个很好的资源。
Using tags to organize your Azure resources
希望它有所帮助。