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.

  • -UserId der Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId).
  • -AssignedLicenses der 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.

  • -UserId der Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId).
  • -AssignedLicenses der 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.

  • -UserId der Parameter gibt die Objekt-ID eines Benutzers an(als UserPrincipalName oder ObjectId).
  • -AssignedLicenses der 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.