Entfernen von Microsoft 365-Lizenzen aus Benutzerkonten mit PowerShell

Dieser Artikel gilt sowohl für Microsoft 365 Enterprise als auch für Office 365 Enterprise.

Hinweis

Erfahren Sie, wie Sie Lizenzen aus Benutzerkonten mit dem Microsoft 365 Admin Center entfernen. Eine Liste mit zusätzlichen Ressourcen finden Sie unter Verwalten von Benutzern und Gruppen.

Verwenden des Microsoft Graph PowerShell SDK

Stellen Sie zunächst eine Verbindung mit Ihrem Microsoft 365-Mandanten her.

Das Zuweisen und Entfernen von Lizenzen für einen Benutzer erfordert den Berechtigungsbereich User.ReadWrite.All oder eine der anderen Berechtigungen, die auf der Graph-API Referenzseite "Lizenz zuweisen" aufgeführt sind.

Der Berechtigungsbereich Organization.Read.All ist erforderlich, um die im Mandanten verfügbaren Lizenzen zu lesen.

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

Informationen zum Anzeigen der Informationen zum Lizenzierungsplan in Ihrem organization finden Sie in den folgenden Artikeln:

Entfernen von Lizenzen aus Benutzerkonten

Verwenden Sie die folgende Syntax, um Lizenzen von einem vorhandenen Benutzerkonto zu entfernen:

Set-MgUserLicense -UserId "<Account>" -RemoveLicenses @("<AccountSkuId1>") -AddLicenses @{}

In diesem Beispiel wird der SPE_E5 -Lizenzierungsplan (Microsoft 365 E5) vom Benutzer BelindaN@litwareinc.comentfernt:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
Set-MgUserLicense -UserId "belindan@litwareinc.com" -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}

Verwenden Sie die folgende Syntax, um alle Lizenzen aus einer Gruppe vorhandener lizenzierter Benutzer zu entfernen:

$licensedUsers = Get-MgUser -Filter 'assignedLicenses/$count ne 0' `
    -ConsistencyLevel eventual -CountVariable licensedUserCount -All `
    -Select UserPrincipalName,DisplayName,AssignedLicenses

foreach($user in $licensedUsers)
{
    $licensesToRemove = $user.AssignedLicenses | Select -ExpandProperty SkuId
    $user = Set-MgUserLicense -UserId $user.UserPrincipalName -RemoveLicenses $licensesToRemove -AddLicenses @{} 
}

Führen Sie die folgenden Schritte aus, um eine bestimmte Lizenz aus einer Liste von Benutzern in einer Textdatei zu entfernen. In diesem Beispiel wird die SPE_E5-Lizenz (Microsoft 365 Enterprise E5) aus den Benutzerkonten entfernt, die in der Textdatei C:\My Documents\Accounts.txt definiert sind.

  1. Erstellen Sie eine Textdatei, und speichern Sie sie in C:\My Documents\Accounts.txt, die ein Konto in jeder Zeile wie folgt enthält:

    akol@contoso.com
    tjohnston@contoso.com
    kakers@contoso.com
    
  2. Verwenden Sie den folgenden Befehl:

    $x=Get-Content "C:\My Documents\Accounts.txt"
    $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
    for ($i=0; $i -lt $x.Count; $i++)
    {
    Set-MgUserLicense -UserId $x[$i] -RemoveLicenses @($e5Sku.SkuId) -AddLicenses @{}
    }
    

Eine andere Möglichkeit zum Freigeben einer Lizenz besteht im Löschen des Benutzerkontos. Weitere Informationen finden Sie unter Löschen und Wiederherstellen von Benutzerkonten mit PowerShell.

Siehe auch

Verwalten von Microsoft 365-Benutzerkonten, -Lizenzen und -Gruppen mit PowerShell

Verwalten von Microsoft 365 mit PowerShell

Erste Schritte mit PowerShell für Microsoft 365