Forum Discussion
Overview of E3 Licences with a timestamp
VasilMichev Is it not a bit easier? I'm doing the following but using the sharepoint online ID to get an overview of the E3 licences. I'm also trying to get when users could have switched from an E2 to E3 licence.
$users = Get-AzureADUser -All:$True
$count = $users.count
$report = @()
$i = 0
foreach ($u in $users)
{
$i++; #Write-Host "$i of $count": $u.UserPrincipalName
$upn = $u.UserPrincipalName
$comp= $u.CompanyName
$state= $u.State
$licenses = $u | select -expand AssignedLicenses
foreach ($l in $licenses){
$license = ""
if ($l.skuId -eq "18181a46-0d4e-45cd-891e-60aabd171b4e"){$license = "E1"}
if ($l.skuId -eq "6634e0ce-1a9f-428c-a498-f84ec7b8aa2e"){$license = "E2"}
if ($l.skuId -eq "6fd2c87f-b296-42f0-b197-1e91e994b900"){$license = "E3"}
if ($l.skuId -eq "c7df2760-2c81-4ef7-b578-5b5392b571df"){$license = "E5"}
if ($license -ne ""){
$plans = $u | select -expand AssignedPlans
$firstdaySharePoint = ""
$firstdayhigherlicense = ""
foreach ($p in $plans){
if ($p.ServicePlanId -eq "e95bec33-7c88-4a70-8e19-b10bd9d0c014"){
$firstdaySharePoint = $p.AssignedTimestamp;
}
if ($p.ServicePlanId -eq "efb87545-963c-4e0d-99df-69c6916d9eb0" -and $p.CapabilityStatus -eq "Enabled"){
$firstdayhigherlicense = $p.AssignedTimestamp;
}
}
Write-Host $u.UserPrincipalName $license $firstdaySharePoint $firstdayhigherlicense
$report += New-Object psobject -Property @{UserPrincipalName = $u.UserPrincipalName; FirstOffice365License = $firstdaySharePoint; FirstHigherLicense = $firstdayhigherlicense; CompanyName = $u.CompanyName; State = $u.State; CurrentLicense = $license}
}
}
$report | select UserPrincipalName,CompanyName,State,FirstOffice365License,CurrentLicense | Export-CSV C:\temp\licences_$CurrentDate.csv –noType -Encoding:UTF8 -Delimiter ";"
This covers the individual service plans, not the license assignment as a whole, which I believe was the original ask. Those can have different values, and in general the license itself can be assigned/removed multiple times - the AAD cmdlets will only show you the latest timestamp.