vCheck v5++

EDIT 29/09/2011 : Version 5.5.1 – Quelques corrections de bugs (Merci à MacBookeur pour les tests)

C’est aujourd’hui que sors la v5 de notre hyperviseur préféré. Qui dit nouvelle version dit nouvelles fonctionnalités :p On ne va pas parler ici de ça, ce n’est pas le but, mais plutôt de la mise à jour du reporting-in-a-script à savoir vCheck.

Pour ceux qui ne connaissent pas, vCheck est un script réalisé par Alan Renouf (disponible ici) et modifié par notre confrère hypervisor.fr. Cela permet d’établir rapidement un rapport d’un peu tout ce qui se passe sur votre plateforme VMware et de recevoir ce joli rapport par mail.

Depuis la dernière version, on a pu faire évoluer ce script en rajoutant de nouvelles fonctionnalités, optimisant le temps d’exécution (très utile pour de grosse infra :p) et corrigeant des petits bugs.

Dans ce que vous pourrez trouver de nouveau dans cette version (liste non exhaustive, se reporter à l’entête du script pour avoir toutes les infos) :

  • ESX5 update (replacing obsolete property/method)
  • Adding Storage DRS Summary Info (Storage DRS Migrations count) and Maintenance Mode check
  • Tuning : Support of non HA Cluster for Capacity Planner
  • Checking for Thick Format disk on templates
  • Adding user exception for snapshot created/removed
  • Added TimeToBuild details for all modules (useful for large environnement informations)
  • Adding empty custom fields check
  • Optimization of objects call (based on Get-View collections at the begining of the script) > less execution time
  • Using CSS3 for coloring even lines : tr:nth-child(even), enhance view on huge table
  • Putting report on XHTML 1.0 Strict W3C compliant
  • Adding a debug mode (all tests, headers and TTB are shown)
  • Adding check made by enterpriseadmins.org

Le script est téléchargeable ici vCheck-v551.ps1.txt

Pour le tester ou en mode debug, on vous conseille de faire un « source » du script via la commande :

. ./vCheck-v551.ps1

Cela permet de conserver l’existence des variables à la fin du script, très pratique pour analyser/debuguer.

Pour la tâche planifiée, voici un fichier XML d’export de tâche planifiée pour lancer le vCheck sur un Windows 2008 (il suffit alors de faire un import et de changer les chemin/utilisateur/mot de passe/fréquence) :

<?xml version="1.0" encoding="UTF-16"?>
<Task version="1.1" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task">
  <RegistrationInfo>
    <Author>ammesiah</Author>
  </RegistrationInfo>
  <Triggers>
    <CalendarTrigger>
      <StartBoundary>2009-08-28T17:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
    <CalendarTrigger>
      <StartBoundary>2010-02-08T08:00:00</StartBoundary>
      <Enabled>true</Enabled>
      <ScheduleByDay>
        <DaysInterval>1</DaysInterval>
      </ScheduleByDay>
    </CalendarTrigger>
  </Triggers>
  <Principals>
    <Principal id="Author">
      <UserId>VMDUDE\ammesiah</UserId>
      <LogonType>InteractiveTokenOrPassword</LogonType>
      <RunLevel>LeastPrivilege</RunLevel>
    </Principal>
  </Principals>
  <Settings>
    <DisallowStartIfOnBatteries>true</DisallowStartIfOnBatteries>
    <StopIfGoingOnBatteries>true</StopIfGoingOnBatteries>
    <IdleSettings>
      <StopOnIdleEnd>false</StopOnIdleEnd>
      <RestartOnIdle>false</RestartOnIdle>
    </IdleSettings>
    <Enabled>true</Enabled>
    <Hidden>false</Hidden>
    <RunOnlyIfIdle>false</RunOnlyIfIdle>
    <WakeToRun>false</WakeToRun>
    <ExecutionTimeLimit>PT4H</ExecutionTimeLimit>
    <Priority>5</Priority>
  </Settings>
  <Actions Context="Author">
    <Exec>
      <Command>C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe</Command>
      <Arguments>-command "c:\Scripts\vCheck\vCheck-v551.ps1 -VISRV vcenter-serveur -sendmail $true -htmlsave $true"</Arguments>
      <WorkingDirectory>C:\WINDOWS\system32\windowspowershell\v1.0\</WorkingDirectory>
    </Exec>
  </Actions>
</Task>

On tient aussi à remercier vraiment Alan et hypervisor.fr pour ce tool car c’est vraiment un outil surpuissant au quotidien à tout niveau, qui rivalise même avec :

Bien sur on continuera de mettre à jour cette version avec les futurs check qui viendront ^^

18 comments

  1. Pingback: vCheck v5+ … MAJ - Hypervisor.fr

  2. Excellent, beaucoup plus rapide qu’avant (7min au lieu de 20)

    J’ai juste un soucis au niveau des « VM Ballooning or Swapping », il me sort rien à chaque fois alors que j’ai des VM qui swapp et qui utilise le balloon.

    J’ai refait l’essai avec la version 505+, il me trouve bien ces VM..

    Des idées ?

    Merci encore.

    • Super script, je viens de mettre à jour ma version 5.0.5 pour la 5.5.1.
      Cela semble très bien fonctionner, juste une remarque, dans l’ancienne version, les rubriques n’étaient pas affichés s’ils étaient vides.

      Par exemple:

      Hosts Not responding or Disconnected : : 0

      et il m’affiche quand meme dans le mail cette rubrique alors qu’elle est vide.

      • bonjour, cela doit etre du a la variable $ModeDebug qui doit être a $true. Elle affiche tous les resultats même ceux qui sont vide. Passe la variable à $false et refais un test.
        Dans la prochaine mise à jour je la mettrais à $false par défaut.

  3. Pingback: VSP1883 VMware vSphere PowerCLI Best Practices

  4. Bonjour,
    Je viens de tomber sur un petit bug. Dans l’affichage du résumé de création/suppression de snapshots, il ne tient pas compte du snapshotUserException. Je pense que c’est un conflit avec le signe backslash et MATCH lorsque l’on utilise un domain.
    Dans la function Find-Username, je pense qu’il reste une trace de votre domain.
    Merci

    • Merci pour ton retour.
      La fonction Find-Username retourne uniquement le displayName si il est renseigné sinon le samAccountName, donc normalement il ne devrait pas y avoir de backslash.
      Tu as bien modifié le nom de domaine dans la fonction Find-Username et la variable $snapshotUserException ?
      J’ai modifié le script pour re-anonymiser ^^

  5. Why does the vCheck Script dont save my credentials any more? The file mycred exist but i vCheck always aks me for a VC username/password.

    • Did you check your $SetUsername variable (line 181) ?
      By default in the script, it’s $SetUsername = "" , so it’s not using the mycred.crd file.

      • $Set-Username = « Administrator » but i still get an windows authentication prompt if it execute the vCheck Script.

  6. Pingback: vCheck 6.0 est disponible

  7. Pingback: Mise à jour vCheck 6.10

Répondre à Charliie Annuler la réponse

Required fields are marked *.