Lister les informations des ESX (IP, Masque, Cluster)

Lorsque l’infrastructure virtuelle est conséquente, il est important d’avoir une cartographie des différents ESX de votre vCenter.
Le script suivant permet de lister des informations concernant chaque ESX comme son nom, son éventuel cluster, le port group de management, l’ip et le masque.
Connect-VIServer « nom-vCenter »
$excel = New-Object -ComObject Excel.Application
$excel.visible = $True
$excel = $excel.Workbooks.Add()
### Initialisation du tableau Excel ###
$Sheet = $Excel.Worksheets.Item(1)
$Sheet.Cells.Item(1,1) = « Nom ESX »
$Sheet.Cells.Item(1,2) = « Nom Folder1 »
$Sheet.Cells.Item(1,3) = « Nom Folder2 »
$Sheet.Cells.Item(1,4) = « Nom Cluster »
$Sheet.Cells.Item(1,5) = « Nom PortGroup »
$Sheet.Cells.Item(1,6) = « IP »
$Sheet.Cells.Item(1,7) = « Masque »
$WorkBook = $Sheet.UsedRange
$WorkBook.Interior.ColorIndex = 15
$WorkBook.Font.Bold = $True
$introw =2
$myhosts = Get-VMHost
foreach ($line in $myhosts) {
    $infoESX = $line.Name
    $infoModel = $line.Model
    $infoCLuster = $line.Parent.Name
    $infoFolder1 = $line.Parent.ParentFolder.Parent.Name
    $infoFolder2 = $line.Parent.ParentFolder.Parent.Parent.Name
    $networkadapter = Get-VMHostNetworkAdapter -VMKernel -VMHost $line | Where {$_.PortGroupName -like « Management*« } #Il récupère le portgroup commençant par Management. A modifier selon vos norme (exemple : mgmt)
    if ($networkadapter -ne $null){
        $infoPortGroup = echo $networkadapter.PortGroupName    
        $infoIP = echo $networkadapter.IP    
        $infoSubnet = echo $networkadapter.SubnetMask        
    }else {
        $networkadapter = Get-VMHostNetworkAdapter -Console -VMHost $line | Where {$_.PortGroupName -like « Service Console*« } # Pour les ESX les plus anciens le management se nomme service console
        $infoPortGroup = echo $networkadapter.PortGroupName    
        $infoIP = echo $networkadapter.IP    
        $infoSubnet = echo $networkadapter.SubnetMask        
    }
    #Remplissage du tableau
    $Sheet.Cells.Item($intRow, 1) = $infoESX
    $Sheet.Cells.Item($intRow, 2) = $infoFolder1
    $Sheet.Cells.Item($intRow, 3) = $infoFolder2
    $Sheet.Cells.Item($intRow, 4) = $infoCLuster
    $Sheet.Cells.Item($intRow, 5) = $infoPortGroup
    $Sheet.Cells.Item($intRow, 6) = $infoIP
    $Sheet.Cells.Item($intRow, 7) = $infoSubnet
    $intRow++
}
Disconnect-VIServer -Confirm:$False

Laisser un commentaire

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

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url=""> 


*