PowerCLI : Extraire la date d’installation des hôtes ESXi reliés à un vCenter
Dans le cadre d’un audit Microsoft SPLA, j’ai eu besoin de disposer de l’ensemble des dates de création des ESXi de notre infrastructure. Il n’était pas pensable de passer sur chaque hôtes ESXi un par un à la main.
Voici donc un script PowerCLI permettant d’extraire cette information en ciblant le vCenter auquel sont reliés les hôtes :
#Ajout des commandes spécifiques au vCenter
Add-PSSnapin VMware.VimAutomation.Core -ErrorAction SilentlyContinue
#Login au vCenter
connect-viserver -server FQDNouIPdevotrevCenter -user utilisateurautorisé -password votrepassword
New-VIProperty -Name EsxPatchDate -ObjectType VMHost -Value {
param($vmhost)
$esxcli = Get-EsxCli -VMHost $vmhost
$esxcli.software.vib.list.invoke() | Where-Object {$_.Name -eq "esx-base"} | select -ExpandProperty InstallDate
} -Force > $null
New-VIProperty -Name EsxInstallDate -ObjectType VMHost -Value {
param($vmhost)
$esxcli = Get-EsxCli -VMHost $vmhost
$delta = [Convert]::ToInt64($esxcli.system.uuid.get.Invoke().Split('-')[0],16)
(Get-Date -Year 1970 -Day 1 -Month 1 -Hour 0 -Minute 0 -Second 0).AddSeconds($delta)
} -Force > $null
Get-VMHost | Select Name,EsxInstallDate,EsxPatchDate > c:/temp/votrefichier.txt
Vous aurez en résultat un fichier texte qui devrait ressembler à cela :