I had a need to update description fields in many of my VMs and the vSphere client doesn’t exactly lend itself to being able to accomplish this quickly. I decided to use PowerCLI to dump a CSV of my VM names and description fields. I then updated the CSV and imported the new descriptions back into the VMs
First, to dump a CSV of VMs and descriptions in a particular cluster
Connect-VIServer "myserver.foo.com" Get-Cluster "mycluster" | Get-VM | Select-object Name, Description | Export-CSV "myvms.csv" |
Then, after updating the CSV with new description information, save the descriptions back into the VMs.
Connect-VIServer "myserver.foo.com" $csv=Import-Csv "myvms.csv" $csv | % { Set-VM $_.VMName -Description $_.Description -Confirm:$false } |