Public/MSOL/Get-MsolUserGroupLicenseErrors.ps1
function Get-MsolUserGroupLicenseErrorsReport { <# .SYNOPSIS Capture all users with group-based licensing errors (not direct licensing) .DESCRIPTION Capture all users with group-based licensing errors (not direct licensing) .EXAMPLE Get-MsolUserGroupLicenseErrorsReport | Out-GridView .NOTES General notes #> $users = Get-MsolUser -All | ? { $_.IndirectLicenseErrors -notlike $null } foreach ($CurUser in $users) { $ReferencedObjectId = $null $ReferencedObjectId = $CurUser.IndirectLicenseErrors.ReferencedObjectId $groups = Get-MsolGroup -ObjectId $ReferencedObjectId -ErrorAction SilentlyContinue -WarningAction SilentlyContinue [PSCustomObject]@{ UserName = $CurUser.DisplayName UserUPN = $CurUser.UserPrincipalName UserId = $CurUser.ObjectId GroupName = $groups.DisplayName GroupId = $groups.ObjectId LicenseError = $CurUser.IndirectLicenseErrors.Error LicenseName = $CurUser.IndirectLicenseErrors.AccountSku.SkuPartNumber } } } |