Entfernen von Lizenzen von Benutzerkonten mit Office 365 PowerShellRemove licenses from user accounts with Office 365 PowerShell

Zusammenfassung: Erläutert die Verwendung Office 365 PowerShell zum Entfernen Office 365er Lizenzen, die zuvor Benutzern zugewiesen wurden.Summary: Explains how to use Office 365 PowerShell to remove Office 365 licenses that were previously assigned to users.

Verwenden der Azure Active Directory PowerShell für Graph-ModuleUse the Azure Active Directory PowerShell for Graph module

Verbinden Sie sich zuerst mit Ihrem Office 365-Mandanten.First, connect to your Office 365 tenant.

Als nächstes Listen Sie die Lizenz Pläne für Ihren Mandanten mit diesem Befehl auf.Next, list the license plans for your tenant with this command.

Get-AzureADSubscribedSku | Select SkuPartNumber

Rufen Sie als nächstes den Anmeldenamen des Kontos ab, für das Sie eine Lizenz entfernen möchten, auch bekannt als Benutzerprinzipalname (User Principal Name, UPN).Next, get the sign-in name of the account for which you want remove a license, also known as the user principal name (UPN).

Geben Sie schließlich die Benutzeranmelde-und Lizenzplan Namen an, entfernen Sie die Zeichen "#a0" und "#a1", und führen Sie diese Befehle aus.Finally, specify the user sign-in and license plan names, remove the "<" and ">" characters, and run these commands.

$userUPN="<user sign-in name (UPN)>"
$planName="<license plan name from the list of license plans>"
$license = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$license.SkuId = (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $planName -EQ).SkuID
$licenses.AddLicenses = $license
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $licenses
$Licenses.AddLicenses = @()
$Licenses.RemoveLicenses =  (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $planName -EQ).SkuID
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $licenses

Verwenden des Microsoft Azure Active Directory-Moduls für Windows PowerShellUse the Microsoft Azure Active Directory Module for Windows PowerShell

Verbinden Sie sich zuerst mit Ihrem Office 365-Mandanten.First, connect to your Office 365 tenant.

Informationen zu den Lizenzierungs Planinformationen (AccountSkuID ) in Ihrer Organisation finden Sie in den folgenden Themen:To view the licensing plan (AccountSkuID ) information in your organization, see the following topics:

Bei Verwendung des Get-MsolUser-Cmdlets ohne den -All-Parameter werden nur die ersten 500 Konten zurückgegeben.If you use the Get-MsolUser cmdlet without using the -All parameter, only the first 500 accounts are returned.

Entfernen von Lizenzen aus BenutzerkontenRemoving licenses from user accounts

Verwenden Sie die folgende Syntax, um Lizenzen von einem vorhandenen Benutzerkonto zu entfernen:To remove licenses from an existing user account, use the following syntax:

Set-MsolUserLicense -UserPrincipalName <Account> -RemoveLicenses "<AccountSkuId1>", "<AccountSkuId2>"...

In diesem Beispiel wird litwareinc:ENTERPRISEPACK die (Office 365 Enterprise E3)-Lizenz aus dem Benutzerkonto BelindaN@litwareinc.com entfernt.This example removes the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) license from the user account BelindaN@litwareinc.com.

Set-MsolUserLicense -UserPrincipalName belindan@litwareinc.com -RemoveLicenses "litwareinc:ENTERPRISEPACK"

Hinweis

Sie können das Cmdlet "MsolUserLicense" nicht verwenden, um die Zuweisung ** von Benutzern von abgebrochenen Lizenzen aufzuheben.You cannot use the Set-MsolUserLicense cmdlet to unassign users from canceled licenses. Sie müssen dies für jedes Benutzerkonto im Microsoft 365 Admin Center einzeln durchführen.You must do this individually for each user account in the Microsoft 365 admin center.

Verwenden Sie eine der folgenden Methoden, um Lizenzen von einer Gruppe von vorhandenen lizenzierten Benutzern zu entfernen,:To remove licenses from a group of existing licensed users, use either of the following methods:

  • Filtern der Konten basierend auf einem vorhandenen Kontoattribut Verwenden Sie dazu die folgende Syntax:Filter the accounts based on an existing account attribute To do this, use the following syntax:
$x = Get-MsolUser -All <FilterableAttributes> | where {$_.isLicensed -eq $true}
$x | foreach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "<AccountSkuId1>", "<AccountSkuId2>"...}

In diesem Beispiel werden litwareinc:ENTERPRISEPACK die (Office 365 Enterprise E3)-Lizenzen von allen Konten für Benutzer in der Vertriebsabteilung in den Vereinigten Staaten entfernt.This example removes the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) licenses from all accounts for users in the Sales department in the United States.

$USSales = Get-MsolUser -All -Department "Sales" -UsageLocation "US" | where {$_.isLicensed -eq $true}
$USSales | foreach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "litwareinc:ENTERPRISEPACK"}
  • Verwenden einer Liste bestimmter Konten Führen Sie dazu die folgenden Schritte aus:Use a list of specific accounts To do this, perform the following steps:
  1. Erstellen und speichern Sie eine Textdatei wie die folgende, die in jeder Zeile ein Konto enthält:Create and save a text file that contains one account on each line like this:
akol@contoso.com
tjohnston@contoso.com
kakers@contoso.com
  1. Verwenden Sie folgende Syntax:Use the following syntax:
Get-Content "<FileNameAndPath>" | ForEach { Set-MsolUserLicense -UserPrincipalName $_ -RemoveLicenses "<AccountSkuId1>", "<AccountSkuId2>"... }

In diesem Beispiel wird litwareinc:ENTERPRISEPACK die (Office 365 Enterprise E3)-Lizenz aus den in der Textdatei C:\My documents\accounts.txt definierten Benutzerkonten entfernt.This example removes the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) license from the user accounts defined in the text file C:\My Documents\Accounts.txt.

Get-Content "C:\My Documents\Accounts.txt" | ForEach { Set-MsolUserLicense -UserPrincipalName $_ -RemoveLicenses "litwareinc:ENTERPRISEPACK" }

Verwenden Sie die folgende Syntax, um Lizenzen von allen vorhandenen Benutzerkonten zu entfernen:To remove licenses from all existing user accounts, use the following syntax:

$x = Get-MsolUser -All  | Where {$_.isLicensed -eq $true}
$x | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "<AccountSkuId1>", "<AccountSkuId2>"...}

In diesem Beispiel wird litwareinc:ENTERPRISEPACK die (Office 365 Enterprise E3)-Lizenz aus allen vorhandenen lizenzierten Benutzerkonten entfernt.This example removes the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) license from all existing licensed user accounts.

$x = Get-MsolUser -All  | Where {$_.isLicensed -eq $true}
$x | ForEach {Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -RemoveLicenses "litwareinc:ENTERPRISEPACK"}

Eine andere Möglichkeit zum Freigeben einer Lizenz besteht im Löschen des Benutzerkontos.Another way to free up a license is by deleting the user account. Weitere Informationen finden Sie unter Löschen und Wiederherstellen von Benutzerkonten mit Office 365 PowerShell.For more information, see Delete and restore user accounts with Office 365 PowerShell.

Siehe auchSee also

Verwalten von Benutzerkonten und Lizenzen mit Office 365 PowerShellManage user accounts and licenses with Office 365 PowerShell

Verwalten von Office 365 mit Office 365 PowerShellManage Office 365 with Office 365 PowerShell

Erste Schritte mit Office 365 PowerShellGetting started with Office 365 PowerShell

Neu bei Office 365?New to Office 365?

Tipp

LinkedIn-Logo Neu bei Office 365?LinkedIn logo New to Office 365?

Entdecken Sie die kostenlosen Videokurse für Office 365-Administratoren und IT-Experten, präsentiert von LinkedIn Learning.Discover free video courses for Office 365 admins and IT pros, brought to you by LinkedIn Learning.