> Tech > Gérer l’état des machines virtuelles avec PowerShell

Gérer l’état des machines virtuelles avec PowerShell

Tech - Par iTPro - Publié le 21 octobre 2011
email


La gestion des machines virtuelles va essentiellement s’opérer grâce à la famille de commandes « VM ». Ainsi pour démarrer une machine virtuelle, nous utiliserons Start-VM et pour l’arrêt Stop-VM ou Shutdown-VM.

Exemple 1 : démarrage d’une machine virtuelle

PS

> Start-VM -VM 'Windows 7 X64'

Cette commande donne l’ordre à la machine virtuelle de démarrer, puis elle retourne un objet de type VM et nous affiche toutes ses propriétés. En regardant la propriété Status, nous savons si l’action a réussi où non. Une autre façon de le savoir est d’aller consulter l’état du dernier travail (job) effectué.
Pour se faire, utilisons la ligne de commandes suivante :

PS > Get-Job | Select-Object -First 1

Description : Arrêter l'ordinateur virtuel
IsVisible : True
Status : Completed
StatusString : Terminé
ErrorInfo : Success (0)
StartTime : 13/09/2010 22:27:52
EndTime : 13/09/2010 22:27:53
Owner : PS-SCRIPTING\Administrator
OwnerSID : S-1-5-21-3628732846- 2239576409-4110719840-500
Name : Arrêter l'ordinateur virtuel
Steps : {Arrêter l'ordinateur virtuel}
CurrentStep : Arrêter l'ordinateur virtuel
ProgressValue : 100
Progress : 100 %
WasNotifiedOfCancel : False
CmdletName : Stop-VM
PROTipID :
ResultObjectID : 2f96fe4b-101b-49d2-bfde-76db17b9ce71
TargetObjectID : 2f96fe4b-101b-49d2-bfde-76db17b9ce71
TargetObjectType : VM
IsCompleted : True
AreAuditRecordsAvailable : False
AuditRecords : {}
AdditionalMessages : {}
Source :
Target :
ResultObjectType : VM
ResultObjectTypeName : Ordinateur virtuel
ResultName : Windows 7 X64
IsRestartable : False
IsStoppable : False
ID : 97026e63-01fe-4c19-9dad-04512ce39831
MarkedForDeletion : False
IsFullyCached : True

La propriété ErrorInfo ayant la valeur « Success », nous pouvons donc considérer que le travail s’est correctement exécuté. Attention toutefois, il faut bien avoir conscience qu’il faut dissocier le démarrage de la VM du démarrage de l’OS. En effet, la machine pourrait très bien être démarrée et le système d’exploitation « planté ».

Exemple 2 : Arrêt « brutal » d’une machine virtuelle

PS > Stop-VM -VM 'Windows 7 X64'

Stop-VM a le même effet que si vous débranchiez la prise électrique d’une machine physique. C’est à utiliser en dernier recours, si un arrêt « propre » du système n’a pas d’effet, par exemple.

Exemple 3 : Arrêt « propre » d’une machine virtuelle

PS > Shutdown-VM -VM 'Windows 7 X64'

Pour que cette commande puisse fonctionner correctement, il faut que des agents soient installés à l’intérieur des VM. Dans le monde Microsoft ces derniers s’appellent « Services d’intégration » et dans le monde VMWare ce sont les « VMWare tools ».

Il est intéressant de noter que cette commande suspend l’exécution de PowerShell tant que la machine n’est pas arrêtée. Pour forcer PowerShell à rendre la main, c’est à dire à continuer l’exécution sans attendre, il faut ajouter le commutateur -RunAsynchronously.

PS > Shutdown-VM -VM 'Windows 7 X64' -RunAsynchronously

A présent pour connaître l’état d’avancement de la tâche, il suffit de regarder l’état du dernier travail en cours comme précédemment.

PS > Get-Job | Select-Object -First 1

Description : Arrêter l'ordinateur virtuel
IsVisible : True
Status : Running
StatusString : En cours d'exécution
ErrorInfo : Success (0)
StartTime : 13/09/2010 22:59:06
EndTime :
Owner : PS-SCRIPTING\Administrator
OwnerSID : S-1-5-21-3628732846-2239576409-4110719840-500
Name : Arrêter l'ordinateur virtuel
Steps : {Arrêter l'ordinateur virtuel}
CurrentStep : Arrêter l'ordinateur virtuel
ProgressValue : 0
Progress : 0 %
WasNotifiedOfCancel : False
CmdletName : Shutdown-VM

L’arrêt est toujours en cours. On attend quelques instants puis on interroge à nouveau le travail en cours.

PS > Get-Job | Select-Object -First 1

Description : Arrêter l'ordinateur virtuel
IsVisible : True
Status : Completed
StatusString : Terminé
ErrorInfo : Success (0)
StartTime : 13/09/2010 22:59:06
EndTime : 13/09/2010 23:00:13
Owner : PS-SCRIPTING\Administrator
OwnerSID : S-1-5-21-3628732846-2239576409-4110719840-500
Name : Arrêter l'ordinateur virtuel
Steps : {Arrêter l'ordinateur virtuel}
CurrentStep : Arrêter l'ordinateur virtuel
ProgressValue : 100
Progress : 100 %
WasNotifiedOfCancel : False
CmdletName : Shutdown-VM

Cette fois, c’est bon, le travail est terminé et il s’est terminé correctement.

 

Téléchargez cette ressource

Microsoft 365 : HP Subscription Management Services en détail

Microsoft 365 : HP Subscription Management Services en détail

Collaboration à distance, environnements de travail et productivité optimisés, gestion évolutive des licences, accélérez la transformation de votre business pour le faire entrer dans l’ère de la collaboration hybride. Découvrez comment le service de gestion des abonnements HP peut vous aider à optimiser vos investissements et votre stratégie de gestion de vos abonnements Microsoft 365.

Tech - Par iTPro - Publié le 21 octobre 2011