Savoir la date à laquelle une VM à été désactivé (Arrêté)

En auditant une installation vSphere, je me suis rendu compte qu’une multitude de machines virtuelles étaient arrêtées. Peut être que ces VMs ne sont plus utilisés … Comment déterminer la date à laquelle ces machines ont été désactivées.

C’est avec l’aide du Powershell ainsi que du module Powercli que l’on trouvera la réponse ! 

Voici une petite fonction (pas encore correctement formaté dans les règles de l’art) permettant d’obtenir la date d’arrêt d’une liste de VMs que l’on fourni à la fonction au travers du pipeline “|” de Powershell.

Le but étant par exemple d’utiliser une commande de ce type :

La fonction devra donc accepté les valeurs provenant d’une autre commande (ValueFromPipeline=$true) comme paramètre et renvoyé un résultat pour chaque VMs en entrée (bloc process { } ).

Les informations concernant les machines virtuelles (création, démarrage, arrêt, snapshot …) sont toujours consignées sous la forme d’événement sur le vCenter (Get-VIEvent).

Vous trouverez les infos concernant les événements des VMs sur ce document Data Object – VmEvent(vim.event.VmEvent)

En gros, on doit trouver la date la plus récente de création d’un événement du type “VmPoweredOffEvent” dans la liste des événements concernant une VM …

Traduction en Powershell/Powercli :

Permet d’obtenir l’intégralité des événement de la VM Nom_VM …

Permet d’obtenir l’intégralité des événement de la VM Nom_VM en descendant du plus récent vers le plus ancien…

Permet d’obtenir l’intégralité des événement de la VM Nom_VM en descendant du plus récent vers le plus ancien, en ne sélectionnant que les événements du type “VmPoweredOffEvent” …

Et enfin …. (!)

Permet d’obtenir l’intégralité des événement de la VM Nom_VM en descendant du plus récent vers le plus ancien, en ne sélectionnant que le premier des événements du type “VmPoweredOffEvent” …

on mets le tout dans une variable et on récupère la propriété CreatedTime 
Ex : $variable.CreatedTime

Voici la fonction finale:

Pour l’utilisation de la fonction, rechercher la date de désactivation des VMs arrêtées :

Besoin d’infos ou de précisions n’hésitez pas … Bon Scripting !

Leave a Reply

Your email address will not be published. Required fields are marked *