[PSH] Export/Import des Custom Attributes

Lors d’une restore de VM ou suite à une mauvaise manipulation, il peut arriver de perdre les précieux ”Custom Attributes” aka “Custom Fields” qui sont stockés dans la base du vCenter et non dans le vmx de la vm comme c’est le cas de l’attribut “annotation” aka “notes” aka “Description” (oui, nous aussi ça nous gonfle…) :

C’est encore PowerCLI qui vient à notre secours pour un script d’export/import de ces informations vers un fichier xml pour une manipulation plus facile.

Sans arguments, le script exportera l’ensemble des Custom Fields et Annotation de toutes les vm (ou d’une en particulier grâce au paramètre -VmAlone)  dans un fichier “VmFieldList.xml” dans le répertoire courant (ou à l’emplacement de votre choix grâce au parametre -$XmlPath) ; si le fichier existe déjà, il sera renommé suivant la nomenclature VmFieldList-yyyyMMddHHmmss.xml. Le fichier généré ressemble à cela :

Pour restaurer les infos d’une VM, voici la syntaxe :

IOCustomField.ps1 -VmAlone RSW2K8VPX51 -Action import -Confirm 1

Pour restaurer toute ou une partie des vm, il suffit de passer au script le nom de la vm dans une boucle :

Get-Cluster "CLU01"|Get-VM|%{.\IOCustomField.ps1 -VmAlone $_.name -Action import -Confirm 1 -XmlPath .\VmFieldList.xml}

download

En bonus, un petit OneLiner pour exporter vos Host Profiles en fichiers .prf du même nom :

Get-VMHostProfile|%{Export-VMHostProfile -FilePath "$($_.name).vpf" -Profile $_ -Force}

Tags: , , ,

2 Responses to “[PSH] Export/Import des Custom Attributes”

  1. [...] scripts de @LucD22 http://www.lucd.info/2009/12/02/raiders-of-the-lost-vmx/ et de @hypervisor_fr http://www.hypervisor.fr/?p=2927, le script va sauvegarder toutes les informations de la VM qui seront perdues avec le Unregister [...]

  2. [...] scripts from @LucD22 http://www.lucd.info/2009/12/02/raiders-of-the-lost-vmx/ and @hypervisor_fr http://www.hypervisor.fr/?p=2927, our script will backup all informations which could be lost during the Unregister (Custom Field, [...]

Leave a Reply