Flash info

Prenez une longueur d'avance avec PowerShell. Faire ce choix c'est anticiper l'avenir des produits Microsoft mais aussi être plus performant dans son travail quotidien d'admin système.

 
Microsoft Most Valuable Professionals
Accueil arrow Bibliothèque de scripts arrow VMware arrow Vérifier l'état des VMware Tools d'une VM
Vérifier l'état des VMware Tools d'une VM
Écrit par Arnaud Petitjean   
01-07-2010

Ce script s'appuie sur : VMWARE vSphere PowerCLI

Remarque : Avant d'exécuter ce script/fonction n'oubliez pas de charger le snap-in PowerCLI et de vous connecter au vCenter 

Bien que PowerCLI soit extremment pratique pour gérer une infrastructure VMWARE, il n'existe pas de commande pour connaître les VMWARE Tools installés dans une machine. Que cela ne tienne, nous alors écrire notre propre fonction pour répondre à notre besoin.

L'idée de la fonction, appliquée à une VM, est d'obtenir en retour soit :  

  • le statut des VMWARE Tools (toolsOK, toolsOld, etc) ainsi que le numéro de version
  • un booléen indiquant si les VMWARE Tools ont un statut OK ou non

Function Get-VMWAREToolsStatus
{
   Param ( [String]$ComputerName, [Switch]$Quiet )

   $VM = Get-View -ViewType VirtualMachine -Property Guest,Name -filter @{"Name"=$ComputerName}
   if ( $VM.Guest.GuestState -ne 'running' )
   {
      Write-Warning "Impossible de continuer car la VM n'est pas démarrée !"
   }
   else
   {
      if ($Quiet -eq $true)
      {
         if ($VM.Guest.ToolsStatus -eq 'toolsOk')
         {
            Write-Output $true
         }
         else
         {
            Write-Output $false
         }
      }
      else
      {
         Write-Output $VM | Select-object -property @{Name='ToolsStatus'; Expression={$_.Guest.ToolsStatus}},
       @{Name='ToolsVersion'; Expression={$_.Guest.ToolsVersion}}
      }
   }
}

Exemples d'utilisation:

PS > Get-VMWAREToolsStatus -ComputerName VM1

ToolsStatus ToolsVersion
----------- ------------
    toolsOK 123630

PS > Get-VMWAREToolsStatus -ComputerName VM1 -Quiet

True

Dernière mise à jour : ( 01-07-2010 )
 
© 2010 PowerShell-Scripting.com