VMWARE : Audit d’une infrastructure avec l’outil RVTools et Script PowerShell


 

 

1. Présentation de RVTools

L’outil RVTools permet d’auditer votre infrastructure virtuelle en récupérant les informations sur les hôtes ESXi et les machines virtuelles à partir du vCenter.

RVTools récupère toutes les informations suivantes :

CPU, mémoire, disques, partitions, réseau, lecteurs de disquette, lecteurs de CD, des instantanés, des outils VMware, pools de ressources, des hôtes ESX, HBA, cartes réseau, commutateurs, les ports, commutateurs distribués, Ports distribués, Banques de données...

RVTools est en mesure de déconnecter les lecteurs cd-rom ou disquettes directement sur les machines virtuelles, ainsi que de mettre à jour VMware Tools installés à l’intérieur de chaque machine virtuelle vers la dernière version en date.

L’outil permet de faire des exports .XLS ou .CSV à des fins d’archivage.

RVTools est pilotable directement en ligne de commande et peut-être utilisée dans des scripts de reporting/audit.

 

2. Pré-requis pour utiliser l’outil

 Windows PowerShell (minimum version 2) 
 Windows Management Framework 3.0 (Si utilisation de PowerShell ISE) 
 Installation de RVTools (disponible ici) 
 Installation de .NET Framework 3.5 (obligatoire pour l'exécution de RVTools) 
 Autoriser votre machine/serveur à exécuter des scripts PowerShell (Set-ExecutionPolicy Unrestricted) 
 Mot de passe "root/administrateur" du serveur vCenter 

 

3. Utilisation de RVTools

Il existe deux méthodes pour utiliser l’outil RVTools.

Méthode n°1 : Mode graphique

Lancer l’outil « RVTools » et se connecter au vCenter.

En fonction de la taille de l’infrastructure et du nombre de machines virtuelles, RVTools peut être plus ou moins long à faire son inventaire.

A la fin de l’inventaire, RVTools se lance et affiche la totalité des informations liées à l’infrastructure VMware sous la forme ci-dessous.

Vous pouvez par la suite faire un export RVTools au format Excel (XLS) ou CSV.

 

Méthode n°2 : Ligne de commande ou script PowerShell

L’utilisation de la ligne de commande RVTools est très simple.

Lancer la console PowerShell ISE (en tant qu’administrateur)

Autoriser votre machine/serveur à exécuter des scripts PowerShell (Set-ExecutionPolicy Unrestricted)

Afin d’effectuer un audit complet de l’infrastructure tapez la commande ci-dessous.

RVTools.exe -u user –p password -s VCenter.domain.local -c ExportAll2xls -d directory -f filename

 

4. Commandes et paramètres de base

Paramètres de RVTools :

-u = utilisateur (ex: admin)
-p = mot de passe (ex: P@ssw0rd)
-s = serveur vCenter (ex: vc01.dom.local)
-c = type d'export (ex: ExportAll2xls)
-d = répertoire d'export (ex: C:\Temp\)
-f = nom du fichier d'export (ex: Export_Full_VC01)

NOTE : Aucun besoin de renseigner « .xls » dans le nom du fichier.

Exemples de types d’exports possibles :

ExportAll2xls
ExportAll2csv
ExportvInfo2xls
ExportvSnapshot2xls
ExportvNetwork2xls

Pour plus d’informations sur les commandes merci de lire directement la documentation RVTools (lien plus bas).

Quelques exemples d’utilisation de l’outil en ligne de commande :

Connexion au vCenter et lancement de RVTools

RVTools.exe -u user –p password -s vCenter.domain.local

Connexion au vCenter et Export des informations

RVTools.exe -u user –p password -s vCenter.domain.local -c ExportAll2xls -d directory -f filename

 

5. Création d’un script PowerShell

La création d’un script permet de pouvoir lancer automatiquement des tâches d’audits tous les X temps à partir d’un serveur d’administration.
De plus, des notifications par mail peuvent être mises en place afin d’avoir un suivi sur l’audit.

Vous trouverez ci-dessous un script qui permet de faire un audit complet de l’infrastructure VMware.

Note : Les valeurs ci-dessous sont à adapter selon le besoin et l’architecture)


# BASIC CONFIG
$Date = Get-Date -UFormat "%Y-%m-%d" #Variable Date
$DateSubject = Get-Date -UFormat "%B %Y" #Variable Format Date
$DomUser = "VLAB\supervision" # Compte de service
$Password = "sUp3rv1si0n" #Password
$VCenter1 = "vc01.vlab.local" #VCenter n°1
$VCenter2 = "vc02.vlab.local" #VCenter n°2

# RVTOOLS CONFIG
$Rvtools = "C:\Exploit\Tools\RVTools\RVTools.exe" #Chemin exécutables RVTools
$ExportType = "ExportAll2xls" #Type d'export RVTools
$Directory ="C:\Exploit\Scripts\VMware-Audit-Infra\Exports" #Chemin d'export CSV
$FileNameSite1 = "$Date`_Export_VMware_Site1_Full" #Nom du fichier Site 1
$FileNameSite2 = "$Date`_Export_VMware_Site2_Full" #Nom du fichier Site 2

# SENDMAIL CONFIG
$SmtpServer = "smtp.vlab.local" #Serveur SMTP
$From = "sysinfo@vlab.local" #De
$To = "sysinfo@vlab.local" #Vers
$Subject = "[RVTools] Audit VMware - $DateSubject" # Sujet du mail
$body = "***** RVTools Notification *****

Date : $Date

    Notification Type: Audit Infrastructure VMware

    Host : [VCENTER] vc01.vlab.local (Site1)
    IP Address: 192.168.0.1

    Host : [VCENTER] vc02.vlab.local (Site2)
    IP Address: 192.168.0.2

    Les fichiers d'exports (+archives) sont disponibles ici :
    \\FILESERVER\Exports\VMware\Exports RVTools\
  
    Attachements : N/A"

    # $AttachementFile1 = "$Directory\$Date`_Export_VMware_Site1_Full.xls"
    # $AttachementFile2 = "$Directory\$Date`_Export_VMware_Site2_Full.xls"

# SITE 1 EXPORT FULL
Write-Host "The Export for Site1 is Running..." -ForegroundColor "Cyan"
Invoke-Expression "$Rvtools -u $DomUser -p $Password -s $VCenter1 -c $ExportType -d $Directory -f $FileNameIvry"
Start-Sleep -s 90
Write-Host "The Export for Site1 is Terminated !" -ForegroundColor "Green"

# SITE 2 EXPORT FULL
Write-Host "The Export for Site2 is Running..." -ForegroundColor "Cyan"
Invoke-Expression "$Rvtools -u $DomUser -p $Password -s $VCenter2 -c $ExportType -d $Directory -f $FileNameCourtabeuf"
Start-Sleep -s 40
Write-Host "The Export for Site2 is Terminated !" -ForegroundColor "Green"

# COPY XLS TO \\FILESERVER
Copy-Item $Directory\* -Destination "\\FILESERVER\Exports\VMware\Exports RVTools" -Recurse

# SEND MAIL WITH ATTACHEMENT
Write-Host "Waiting for the nofification by email..." -ForegroundColor "Cyan"
Start-Sleep -s 30
Send-mailmessage -from "$From" -to "$To" -subject "$Subject" -body "$body" -smtpServer "$SmtpServer" # -Attachments "$AttachementFile1","$AttachementFile2" (non obligatoire)
Write-Host "Mail Send !" -ForegroundColor "Green"

Exemple de mail :

***** VMware Notification *****

    Date : 2014-XX-XX

    Notification Type: Audit Infrastructure VMware

    Host : [VCENTER] vc01.vlab.local (Site1)
    IP Address: 192.168.0.1

    Host : [VCENTER] vc02.vlab.local (Site2)
    IP Address: 192.168.0.2

    Les fichiers d'exports (+archives) peuvent etre consulte ici :
    \\FILESERVER\Exports\VMware\Exports RVTools\
  
    Attachements :[pièce jointe "2014-XX-XX_Export_VMware_Ivry_Full.xls"]

 

6. Documentation et référence

Site de RVTools :
http://www.robware.net/

Documentation RVTools:
Documentation RVTools version 3.5 (mai 2013)

 

Print Friendly, PDF & Email

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *