Set-EntraUserLicense

Hiermee worden licenties voor een Microsoft onlineservice toegevoegd aan of verwijderd uit de lijst met toegewezen licenties voor een gebruiker.

Syntax

Default (Standaard)

Set-EntraUserLicense

    -UserId <String>
    -AssignedLicenses <AssignedLicenses>
    [<CommonParameters>]

Description

Hiermee Set-EntraUserLicense worden licenties voor een Microsoft onlineservice toegevoegd aan of verwijderd uit de lijst met toegewezen licenties voor een gebruiker.

Voor gedelegeerde scenario's heeft de aanroepende gebruiker ten minste een van de volgende Microsoft Entra rollen nodig.

  • Adreslijstschrijvers
  • Licentiebeheerder
  • Gebruikersbeheerder

Opmerking: Voordat u een licentie toewijst, wijst u een gebruikslocatie toe aan de gebruiker met behulp van: Set-EntraUser -ObjectId user@contoso.com -UsageLocation '<two-letter-country-code e.g. GB/US>'.

Voorbeelden

Voorbeeld 1: Een licentie toevoegen aan een gebruiker op basis van een sjabloongebruiker

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 dit voorbeeld ziet u hoe u een licentie aan een gebruiker toewijst op basis van een sjabloongebruiker.

  • -UserId parameter geeft de object-id van een gebruiker (als userPrincipalName of ObjectId).
  • -AssignedLicenses parameter geeft een lijst met licenties toe te wijzen of te verwijderen.

Voorbeeld 2: Een licentie toevoegen aan een gebruiker door een licentie van een andere gebruiker te kopiëren

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 dit voorbeeld ziet u hoe u een licentie aan een gebruiker toewijst door een licentie van een andere gebruiker te kopiëren.

  • -UserId parameter geeft de object-id van een gebruiker (als userPrincipalName of ObjectId).
  • -AssignedLicenses parameter geeft een lijst met licenties toe te wijzen of te verwijderen.

Voorbeeld 3: een toegewezen gebruikerslicentie verwijderen

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 dit voorbeeld ziet u hoe u de licentie van een gebruiker verwijdert door de gebruikersgegevens op te halen.

  • -UserId parameter geeft de object-id van een gebruiker (als userPrincipalName of ObjectId).
  • -AssignedLicenses parameter geeft een lijst met licenties toe te wijzen of te verwijderen.

Voorbeeld 4: Licenties bulksgewijs toewijzen aan meerdere gebruikers

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
}

Parameters

-AssignedLicenses

Hiermee geeft u een lijst met licenties toe te wijzen of te verwijderen.

Parametereigenschappen

Type:AssignedLicenses
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-UserId

Hiermee geeft u de id van een gebruiker (als UserPrincipalName of ObjectId) in Microsoft Entra ID.

Parametereigenschappen

Type:System.String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:ObjectId, UPN, Identity, Hoofdgebruikersnaam

Parametersets

(All)
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.