Microsoft 365-gebruikers zonder licentie weergeven met PowerShell

Dit artikel is van toepassing op Microsoft 365 Enterprise en Office 365 Enterprise.

Gebruikersaccounts in uw Microsoft 365-organisatie hebben mogelijk enkele, alle of geen van de beschikbare licenties toegewezen vanuit de licentieplannen die beschikbaar zijn in uw organisatie. U kunt PowerShell voor Microsoft 365 gebruiken om snel de gelicentieerde en niet-gelicentieerde gebruikers in uw organisatie te vinden.

Opmerking

De Azure Active Directory-module wordt vervangen door de Microsoft Graph PowerShell SDK. U kunt de Microsoft Graph PowerShell SDK gebruiken voor toegang tot alle Microsoft Graph API's. Zie Aan de slag met de Microsoft Graph PowerShell SDK voor meer informatie.

De Microsoft Graph PowerShell SDK gebruiken

Maak eerst verbinding met Microsoft 365 met PowerShell.

Voor het lezen van gebruikerseigenschappen, inclusief licentiegegevens, is het machtigingsbereik User.Read.All of een van de andere machtigingen vereist die worden vermeld op de Graph API referentiepagina 'Een gebruiker ophalen'.

Het machtigingsbereik Organization.Read.All is vereist om de licenties te lezen die beschikbaar zijn in de tenant.

Connect-Graph -Scopes User.Read.All, Organization.Read.All

Voer de volgende opdracht uit om de licentiegegevens van een specifiek gebruikersaccount weer te geven:

Get-MgUserLicenseDetail -UserId "<user sign-in name (UPN)>"

Bijvoorbeeld:

Get-MgUserLicenseDetail -UserId "belindan@litwareinc.com"

Voer de volgende opdracht uit om de lijst weer te geven van alle gebruikersaccounts in uw organisatie waaraan GEEN van uw licentieplannen is toegewezen (gebruikers zonder licentie):

Get-MgUser -Filter 'assignedLicenses/$count eq 0' -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

Write-Host "Found $unlicensedUserCount unlicensed users."

Voer de volgende opdracht uit om de lijst weer te geven van alle lidgebruikersaccounts (met uitzondering van gasten) in uw organisatie waaraan GEEN van uw licentieplannen is toegewezen (gebruikers zonder licentie):

Get-MgUser -Filter "assignedLicenses/`$count eq 0 and userType eq 'Member'" -ConsistencyLevel eventual -CountVariable unlicensedUserCount -All

Write-Host "Found $unlicensedUserCount unlicensed users (excluding guests)."

Voer de volgende opdracht uit om de lijst met alle gebruikersaccounts in uw organisatie weer te geven waaraan een van uw licentieplannen (gelicentieerde gebruikers) is toegewezen:

Get-MgUser -Filter 'assignedLicenses/$count ne 0' -ConsistencyLevel eventual -CountVariable licensedUserCount -All -Select UserPrincipalName,DisplayName,AssignedLicenses | Format-Table -Property UserPrincipalName,DisplayName,AssignedLicenses

Write-Host "Found $licensedUserCount licensed users."

Voer de volgende opdracht uit om de lijst met alle gebruikersaccounts in uw organisatie weer te geven waaraan een E5-licentie is toegewezen:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'

Get-MgUser -Filter "assignedLicenses/any(x:x/skuId eq $($e5sku.SkuId) )" -ConsistencyLevel eventual -CountVariable e5licensedUserCount -All

Write-Host "Found $e5licensedUserCount E5 licensed users."

Zie ook

Microsoft 365-gebruikersaccounts, -licenties en -groepen beheren met PowerShell

Microsoft 365 beheren met PowerShell

Aan de slag met PowerShell voor Microsoft 365