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.
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
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