Microsoft 365 accountlicentie en servicedetails weergeven met PowerShell

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

In Microsoft 365 geven licenties van licentieplannen (ook wel SKU's of Microsoft 365-abonnementen genoemd) gebruikers toegang tot de Microsoft 365 services die voor die abonnementen zijn gedefinieerd. Een gebruiker heeft echter mogelijk geen toegang tot alle services die beschikbaar zijn in een licentie die momenteel aan hem of haar is toegewezen. U kunt PowerShell voor Microsoft 365 gebruiken om de status van services op gebruikersaccounts weer te geven.

Zie Licenties en services weergeven met PowerShell voor meer informatie over licentieabonnementen, licenties en services.

De Microsoft Graph PowerShell SDK gebruiken

Maak eerst verbinding met uw Microsoft 365 tenant.

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

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

Geef vervolgens de licentieplannen voor uw tenant weer met deze opdracht.

Get-MgSubscribedSku

Gebruik deze opdrachten om de services weer te geven die beschikbaar zijn in elk licentieabonnement.


$allSKUs = Get-MgSubscribedSku -Property SkuPartNumber, ServicePlans 
$allSKUs | ForEach-Object {
    Write-Host "Service Plan:" $_.SkuPartNumber
    $_.ServicePlans | ForEach-Object {$_}
}

Gebruik deze opdrachten om de licenties weer te geven die zijn toegewezen aan een gebruikersaccount.

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

Bijvoorbeeld:

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

Services voor een gebruikersaccount weergeven

Gebruik de volgende syntaxis om alle Microsoft 365 services weer te geven waartoe een gebruiker toegang heeft:

(Get-MgUserLicenseDetail -UserId <user account UPN> -Property ServicePlans)[<LicenseIndexNumber>].ServicePlans

In dit voorbeeld ziet u de services waartoe de gebruiker BelindaN@litwareinc.com toegang heeft. Hier ziet u de services die zijn gekoppeld aan alle licenties die aan haar account zijn toegewezen.

(Get-MgUserLicenseDetail -UserId belindan@litwareinc.com -Property ServicePlans).ServicePlans

In dit voorbeeld ziet u de services waartoe de gebruiker BelindaN@litwareinc.com toegang heeft vanaf de eerste licentie die aan haar account is toegewezen (het indexnummer is 0).

(Get-MgUserLicenseDetail -UserId belindan@litwareinc.com -Property ServicePlans)[0].ServicePlans

Als u alle services wilt weergeven voor een gebruiker aan wie meerdere licenties zijn toegewezen, gebruikt u de volgende syntaxis:

$userUPN="<user account UPN>"
$allLicenses = Get-MgUserLicenseDetail -UserId $userUPN -Property SkuPartNumber, ServicePlans
$allLicenses | ForEach-Object {
    Write-Host "License:" $_.SkuPartNumber
    $_.ServicePlans | ForEach-Object {$_}
}

De Azure Active Directory PowerShell gebruiken voor Graph module

Maak eerst verbinding met uw Microsoft 365 tenant.

Geef vervolgens de licentieplannen voor uw tenant weer met deze opdracht.

Get-AzureADSubscribedSku | Select SkuPartNumber

Gebruik deze opdrachten om de services weer te geven die beschikbaar zijn in elk licentieabonnement.

$allSKUs=Get-AzureADSubscribedSku
$licArray = @()
for($i = 0; $i -lt $allSKUs.Count; $i++)
{
$licArray += "Service Plan: " + $allSKUs[$i].SkuPartNumber
$licArray +=  Get-AzureADSubscribedSku -ObjectID $allSKUs[$i].ObjectID | Select -ExpandProperty ServicePlans
$licArray +=  ""
}
$licArray

Gebruik deze opdrachten om de licenties weer te geven die zijn toegewezen aan een gebruikersaccount.

$userUPN="<user account UPN, such as belindan@contoso.com>"
$licensePlanList = Get-AzureADSubscribedSku
$userList = Get-AzureADUser -ObjectID $userUPN | Select -ExpandProperty AssignedLicenses | Select SkuID 
$userList | ForEach { $sku=$_.SkuId ; $licensePlanList | ForEach { If ( $sku -eq $_.ObjectId.substring($_.ObjectId.length - 36, 36) ) { Write-Host $_.SkuPartNumber } } }

De Microsoft Azure Active Directory-module gebruiken voor Windows PowerShell

Maak eerst verbinding met uw Microsoft 365 tenant.

Voer vervolgens deze opdracht uit om de licentieplannen weer te geven die beschikbaar zijn in uw organisatie.

Get-MsolAccountSku

Notitie

PowerShell Core biedt geen ondersteuning voor de Microsoft Azure Active Directory-module voor Windows PowerShell-module en cmdlets met Msol in hun naam. Als u deze cmdlets wilt blijven gebruiken, moet u deze uitvoeren vanuit Windows PowerShell.

Voer vervolgens deze opdracht uit om de services weer te geven die beschikbaar zijn in elk licentieplan en de volgorde waarin ze worden weergegeven (het indexnummer).

(Get-MsolAccountSku | where {$_.AccountSkuId -eq "<AccountSkuId>"}).ServiceStatus

Gebruik deze opdracht om de licenties weer te geven die zijn toegewezen aan een gebruiker en de volgorde waarin ze worden vermeld (het indexnummer).

Get-MsolUser -UserPrincipalName <user account UPN> | Format-List DisplayName,Licenses

Services voor een gebruikersaccount weergeven

Gebruik de volgende syntaxis om alle Microsoft 365 services weer te geven waartoe een gebruiker toegang heeft:

(Get-MsolUser -UserPrincipalName <user account UPN>).Licenses[<LicenseIndexNumber>].ServiceStatus

In dit voorbeeld ziet u de services waartoe de gebruiker BelindaN@litwareinc.com toegang heeft. Hier ziet u de services die zijn gekoppeld aan alle licenties die aan haar account zijn toegewezen.

(Get-MsolUser -UserPrincipalName belindan@litwareinc.com).Licenses.ServiceStatus

In dit voorbeeld ziet u de services waartoe de gebruiker BelindaN@litwareinc.com toegang heeft vanaf de eerste licentie die aan haar account is toegewezen (het indexnummer is 0).

(Get-MsolUser -UserPrincipalName belindan@litwareinc.com).Licenses[0].ServiceStatus

Als u alle services wilt weergeven voor een gebruiker aan wie meerdere licenties zijn toegewezen, gebruikt u de volgende syntaxis:

$userUPN="<user account UPN>"
$AllLicenses=(Get-MsolUser -UserPrincipalName $userUPN).Licenses
$licArray = @()
for($i = 0; $i -lt $AllLicenses.Count; $i++)
{
$licArray += "License: " + $AllLicenses[$i].AccountSkuId
$licArray +=  $AllLicenses[$i].ServiceStatus
$licArray +=  ""
}
$licArray

Zie ook

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

Microsoft 365 beheren met PowerShell

Aan de slag met PowerShell voor Microsoft 365