Forum Discussion
Overview of E3 Licences with a timestamp
That, or you can crawl the Azure AD logs/O365 unified log for any "assign license" activities.
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 ";"
- VasilMichevAug 06, 2019MVP
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.