Set-EntraUserLicense
Fügt lizenzen für einen Microsoft Onlinedienst zur Liste der zugewiesenen Lizenzen für einen Benutzer hinzu oder entfernt sie.
Syntax
Default (Standard)
Set-EntraUserLicense
-UserId <String>
-AssignedLicenses <AssignedLicenses>
[<CommonParameters>]
Beschreibung
Durch das Set-EntraUserLicense Hinzufügen oder Entfernen von Lizenzen für einen Microsoft Onlinedienst wird die Liste der zugewiesenen Lizenzen für einen Benutzer hinzugefügt oder entfernt.
Für delegierte Szenarien benötigt der aufrufende Benutzer mindestens eine der folgenden Microsoft Entra Rollen.
- Verzeichnisautoren
- Lizenzadministrator
- Benutzeradministrator
Hinweis: Bevor Sie eine Lizenz zuweisen, weisen Sie dem Benutzer einen Verwendungsspeicherort zu: Set-EntraUser -ObjectId user@contoso.com -UsageLocation '<two-letter-country-code e.g. GB/US>'.
Beispiele
Beispiel 1: Hinzufügen einer Lizenz zu einem Benutzer basierend auf einem Vorlagenbenutzer
Connect-Entra -Scopes 'User.ReadWrite.All'
$licensedUser = Get-EntraUser -UserId 'TemplateUser@contoso.com'
$targetUser = Get-EntraUser -UserId 'SawyerM@contoso.com'
$sourceUserLicenses = $licensedUser.AssignedLicenses
$licensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
foreach ($license in $sourceUserLicenses) {
$assignedLicense = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$assignedLicense.SkuId = $license.SkuId
$licensesToAssign.AddLicenses = $assignedLicense
Set-EntraUserLicense -UserId $targetUser.Id -AssignedLicenses $licensesToAssign
}
Name Value
---- -----
externalUserStateChangeDateTi…
businessPhones {8976546787}
postalCode 444601
createdDateTime 06-11-2023 04:48:19
surname KTETSs
jobTitle Manager
employeeType
otherMails {SawyerM@contoso.com}
isResourceAccount
usageLocation DE
legalAgeGroupClassification Adult
id cccccccc-2222-3333-4444-dddddddddddd
isLicenseReconciliationNeeded False
In diesem Beispiel wird veranschaulicht, wie einem Benutzer basierend auf einem Vorlagenbenutzer eine Lizenz zugewiesen wird.
-
-UserIdder Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId). -
-AssignedLicensesder Parameter gibt eine Liste von Lizenzen an, die zugewiesen oder entfernt werden sollen.
Beispiel 2: Hinzufügen einer Lizenz zu einem Benutzer durch Kopieren einer Lizenz von einem anderen Benutzer
Connect-Entra -Scopes 'User.ReadWrite.All'
$licensedUser = Get-EntraUser -UserId 'AdeleV@contoso.com'
$user = Get-EntraUser -UserId 'SawyerM@contoso.com'
$license1 = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$license1.SkuId = $licensedUser.AssignedLicenses.SkuId[0]
$license2 = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$license2.SkuId = $licensedUser.AssignedLicenses.SkuId[1]
$addLicensesArray = @()
$addLicensesArray += $license1
$addLicensesArray += $license2
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$licenses.AddLicenses = $addLicensesArray
Set-EntraUserLicense -UserId $user.Id -AssignedLicenses $licenses
Name Value
---- -----
externalUserStateChangeDateTi…
businessPhones {8976546787}
postalCode 444601
createdDateTime 06-11-2023 04:48:19
surname KTETSs
jobTitle Manager
employeeType
otherMails {SawyerM@contoso.com}
isResourceAccount
usageLocation DE
legalAgeGroupClassification Adult
id cccccccc-2222-3333-4444-dddddddddddd
isLicenseReconciliationNeeded False
In diesem Beispiel wird veranschaulicht, wie Sie einem Benutzer eine Lizenz zuweisen, indem Sie die Lizenz von einem anderen Benutzer kopieren.
-
-UserIdder Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId). -
-AssignedLicensesder Parameter gibt eine Liste von Lizenzen an, die zugewiesen oder entfernt werden sollen.
Beispiel 3: Entfernen der Lizenz eines zugewiesenen Benutzers
Connect-Entra -Scopes 'User.ReadWrite.All'
$userPrincipalName = 'SawyerM@Mcontoso.com'
$user = Get-EntraUser -UserId $userPrincipalName
$skuId = (Get-EntraUserLicenseDetail -UserId $userPrincipalName).SkuId
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$licenses.RemoveLicenses = $skuId
Set-EntraUserLicense -UserId $user.Id -AssignedLicenses $licenses
Name Value
---- -----
displayName SawyerM
id cccccccc-2222-3333-4444-dddddddddddd
jobTitle
surname M
mail
userPrincipalName SawyerM@contoso.com
mobilePhone
preferredLanguage
@odata.context https://graph.microsoft.com/v1.0/$metadata#users/$entity
businessPhones {}
officeLocation
givenName Sawyer
In diesem Beispiel wird veranschaulicht, wie die Lizenz eines Benutzers durch Abrufen der Benutzerdetails entfernt wird.
-
-UserIdder Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId). -
-AssignedLicensesder Parameter gibt eine Liste von Lizenzen an, die zugewiesen oder entfernt werden sollen.
Beispiel 4: Massenzuweisung von Lizenzen zu mehreren Benutzern
Connect-Entra -Scopes 'Organization.ReadWrite.All'
# Retrieve the SkuId for the desired license plans
$skuId1 = (Get-EntraSubscribedSku | Where-Object { $_.SkuPartNumber -eq 'AAD_PREMIUM_P2' }).SkuId
$skuId2 = (Get-EntraSubscribedSku | Where-Object { $_.SkuPartNumber -eq 'EMS' }).SkuId
# Define the user to whom the licenses will be assigned
$users = ('AljosaH@Contoso.com', 'PalameeC@Contoso.com')
# You can, alternatively, import users from a csv file. For this example, the CSV should have a column named 'user'
$users = Import-Csv -Path "C:\path\to\your\users.csv" | Select-Object -ExpandProperty user
# Create license assignment objects
$license1 = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$license1.SkuId = $skuId1
$license2 = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$license2.SkuId = $skuId2
$licenses = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$licenses.AddLicenses = $license1, $license2
# Assign the licenses to each user
foreach ($user in $users$users) {
Set-EntraUserLicense -UserId $user -AssignedLicenses $licenses
}
Parameter
-AssignedLicenses
Gibt eine Liste von Lizenzen an, die zugewiesen oder entfernt werden sollen.
Parametereigenschaften
| Typ: | AssignedLicenses |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-UserId
Gibt die ID eines Benutzers (als UserPrincipalName oder ObjectId) in Microsoft Entra ID an.
Parametereigenschaften
| Typ: | System.String |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Objekt-ID, UPN (Benutzerprinzipalname), Identity, Benutzerhauptname |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.