16
Fév
Lors d’une opération de maintenance ou de remplacement de matériel, vous pouvez devoir faire au préalable un point sur les licences utilisées dans votre infrastructure VMware.
En Powercli, pour extraire au niveau d’un ESXIs sa licence VMware ou au niveau d’un vCenter la liste des licences des ESXIs, on peut utiliser la cmdlet GET-VMHOST et lister les champs Name et LicenseKey
Get-VMHost | Select-Object -Property Name,LicenseKey
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
. PS C:\> Get-VMHost | Select-Object -Property Name,LicenseKey Name LicenseKey ---- ---------- monEsxi1 ABCDE-12345-FGHIJ-67890-CMTHK monEsxi2 J1636-ABCDE-12345-FGHIJ-67890 monEsxi3 ABCDE-12345-FGHIJ-67890-CMTHK monEsxi4 J1636-ABCDE-12345-FGHIJ-67890 . |
Si vous souhaitez un compte rendu plus détaillé, je vous propose cette commande publié sur VMware Communities.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
. $report = foreach($vc in $global:DefaultVIServers){ $licMgr = Get-View LicenseManager -Server $vc $licAssignmentMgr = Get-View -Id $licMgr.LicenseAssignmentManager -Server $vc $licAssignmentMgr.QueryAssignedLicenses($vc.InstanceUid) | %{ $_ | select @{N='vCenter';E={$vc.Name}},EntityDisplayName, @{N='LicenseKey';E={$_.AssignedLIcense.LicenseKey}}, @{N='Product Version';E={$_.Properties | where{$_.Key -eq 'FileVersion'} | select -ExpandProperty Value}}, @{N='LicenseName';E={$_.AssignedLicense.Name}}, @{N='Product Edition';E={$_.Properties | where{$_.Key -eq 'ProductName'} | select -ExpandProperty Value}}, @{N='Used License';E={$_.Properties | where{$_.Key -eq 'EntityCost'} | select -ExpandProperty Value}}, @{N='Total';E={$_.AssignedLicense.Total}}, @{N='ExpirationDate';E={$_.AssignedLicense.Properties.where{$_.Key -eq 'expirationDate'}.Value }} }} $report | FT -autosize . |
Pour avoir un état des licences enregistrées dans votre vCenter, vous pouvez utiliser le code ci-dessous provenant également de VMware Communities.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
. $vSphereLicInfo = @() $ServiceInstance = Get-View ServiceInstance Foreach ($LicenseMan in Get-View ($ServiceInstance | Select -First 1).Content.LicenseManager) { Foreach ($License in ($LicenseMan | Select -ExpandProperty Licenses)) { $Details = "" |Select VC, Name, Key, Total, Used $Details.VC = ([Uri]$LicenseMan.Client.ServiceUrl).Host $Details.Name= $License.Name $Details.Key= $License.LicenseKey $Details.Total= $License.Total $Details.Used= $License.Used $vSphereLicInfo += $Details } } $vSphereLicInfo |ft -AutoSize . |