> Tech > PowerShell, Gestion des machines virtuelles

PowerShell, Gestion des machines virtuelles

Tech - Par Renaud ROSSET - 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.

PowerShell, Gestion des machines virtuelles

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.

Pour aller plus loin sur PowerShell avec les experts @ITPROFR :

Powershell, une ligne de commande qui a su se faire désirer · iTPro.fr

Les 10 éléments clés à  connaître pour tirer parti de PowerShell · iTPro.fr

La nouvelle génération PowerShell · iTPro.fr

Téléchargez cette ressource

Guide de technologie 5G pour l’entreprise

Guide de technologie 5G pour l’entreprise

Pourquoi la 5G est-elle faite pour votre entreprise ? La 5G peut améliorer la vitesse, la fiabilité et la capacité de votre réseau, permettant ainsi une meilleure collaboration, une productivité accrue et une prise de décision plus rapide. Notre livre blanc " The Big Book of Enterprise 5G" vous fournit les informations stratégiques dont vous avez besoin pour prendre des décisions éclairées et préparer votre entreprise à prospérer dans l'ère de la 5G. Cradlepoint, part of Ericsson est le leader mondial des solutions de réseau sans fil 4G LTE et 5G fournies via le cloud. Connectez vos employés, lieux et objets avec la 4G LTE et la 5G pour un WAN sans fil d'entreprise.

Tech - Par Renaud ROSSET - Publié le 21 octobre 2011