vSphere 7 – Tags austauschen
Wie in einem meiner letzten Beiträge gezeigt, nutze ich in meinem Homelab vSphere-Tags für mein Backup mittels Veeam. In der Zwischenzeit habe ich mein Homelab umstruktuiert, weshalb ich nun alle dort verwendetes Tags austauschen wollte.
So installierte ich für meine zwei Umgebungen (onPremise und Cloud) je ein eigenes vCenter im Enhanced Link Mode. In Veeam habe ich beide vCenter hinterlegt. Dadurch muss ich die Örtlichkeit der Sicherungen nicht mehr per Tag festlegen, sondern kann diese über das vCenter zuordnen.
Da die Tags global gespeichert werden, stehen sie in beiden vCentern zur Verfügung. Um mir nun die Übersicht zu wahren und die Umgebung zu vereinfachen, habe ich die vormals existierenden Tags (als Beispiel: onPrem1d bzw. cloud1d) gelöscht und durch neue Tags ersetzt.
Da die Tags bei fast allen VMs angehangen waren, habe ich mir ein kleines Script geschrieben, welches mit die Tags ändert:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
$tagCategory = "BackupScheduling" $newTagName = "1d" $oldTagName = "onPrem1d" $tags = Get-Tag -Category $tagCategory $oldTag = $tags | Where { $_.Name -eq $oldTagName } $newTag = $tags | Where { $_.Name -eq $newTagName } $vms = Get-VM -Tag $oldTag ForEach($vm IN $vms) { $tagassignment = Get-TagAssignment -Category $tagCategory -Entity $vm Remove-TagAssignment -TagAssignment $tagassignment -Confirm:$false New-TagAssignment -Tag $newTag -Entity $vm } |
In diesem Beispiel wird der Tag “onPrem1d” durch den Tag “1d” ersetzt.
In Veeam musste ich nun noch die Jobs an die neuen Tags anpassen.
Natürlich lassen sich hiermit auch andere Tags automatisiert tauschen und es ist nicht auf Backupzwecke beschränkt.
Für den ein oder anderen bietet das Script vielleicht auch eine Möglichkeit Tags in einem größeren Umfang einzuführen.