如何使用 PowerShell 删除 Azure 虚拟机的特定标签?

powershellmicrosoft technologiessoftware & coding

要删除 Azure 虚拟机的特定标签,我们可以使用 Update-AZTag 命令中 Operation 参数的 Delete 属性。以下示例中,Azure 虚拟机 TestMachine2k12 包含以下标签。

Key             Value
---             -----
Patching_Day    Sunday
Owner           Chirag

我们需要删除 Patching_Day 标签,为此,我们还需要它的值。以下命令将从 Azure 虚拟机中删除指定的标签。

PS C:\> $vm = Get-AzVM -VMName TestMachine2k12
PS C:\> $tag = @{"Patching_Day"="Sunday"}
PS C:\> Update-AzTag -ResourceId $vm.Id -Tag $tag -Operation Delete -Verbose

检查标签后,应该将其删除。

Get-AzVM -VMName TestMachine2k12 | Select -ExpandProperty Tags
Key   Value
---   -----
Owner Chirag

如果您要删除多个标签,请在标签哈希表中提供键值对。例如:

$tags = @{Patching_Day='Sunday'; Application='SecureTag'; Location='WestUS'}

假设我们有多个虚拟机具有相同的标签键(例如 Patching_Day),但值不同,那么我们需要检索每个虚拟机的标签值。

$vms = @('AZVM1','AZVM2','AZVM3')
foreach($vm in $vms){
   $azvm = Get-AzVM -Name $vm
   $aztag = $azvm | Select -ExpandProperty Tags
   $Deletetag = @{'Patching_Day'= $aztag.Patching_Day}
   Update-AzTag -ResourceID $azvm.ID -tag $deletetag -Operation Delete -Verbose
}

上述代码将删除数组中提到的虚拟机上的 Patching_Day 标签及其相应的值。


相关文章