¿Que VMs no se están respaldando? | Veeam + PowerCLI

Con este Script de PowerShell podemos crear una lista de las máquinas virtuales las cuales no se encuentran en ningún Job de respaldo o replicación, por lo tanto en riesgo de perder información en caso de corromperse el sistema operativo o eliminar accidentalmente información, algo mas común que fallas a nivel de hardware.

El primer paso es generar una tabla con la lista de las VMs efectivamente protegidas. Posteriormente generamos una tabla con las máquinas virtuales que nos interesa proteger, que pueden ser de todo nuestro Datacenter, un Cluster, un grupo de hosts, VMs con cierto TAG, etc, etc… A esta lista la comparamos contra la lista de VMs que efectivamente se están respaldando/replicando y obtenemos las cuales no se encuentran en ningún Job.

Va el script…

## Variables de columna "Estado" ##
$on = "Encendida"
$off = "Apagada"

## Genera una lista de VM en todos los Jobs de respaldo (backup) ##
$jobs = get-vbrjob | where {$_.jobtargettype -eq "backup"}
$protected = $jobs.getobjectsinjob()
$vmresp = $protected.name

## Crea la tabla con las VMs que no aparecen en la lista de VMs protegidas en alguno de los Jobs ##
Get-VM $MyVMs | where{$_.name -notin $vmresp} |
Format-Table @{Name="VM";E={$_.name}},
@{Name="Nombre DNS";E={$_.guest.hostname};a="center"},
@{Name="IP";E={$_.guest.ipaddress[0]};a="center"},
@{Name="Estado";E={ if ($_.guest.state -eq $running) { $on } else { $off }};a="center"} -a 

En este script agregé un poco mas de info a la tabla con la intención de contar con suficiente información que me permita identificar al servidor virtual rápidamente, le incluí el hostname de la VM, su IP (requiere tener instaladas las VMware Tools) y su power state, pero le puedes agregar todos estos campos…

Captura de pantalla 2015-02-18 a las 23.23.57

La salida con la lista de las VMs sin protección es algo así…

Captura de pantalla 2015-02-18 a las 23.36.46

Espero les sea de utilidad.

spotify:track:40PZjzPaevtxWSReEG6RQ1