Set-MgUserLicense

Invoke action assignLicense

Syntax

Set-MgUserLicense
   -UserId <String>
   [-AddLicenses <IMicrosoftGraphAssignedLicense[]>]
   [-AdditionalProperties <Hashtable>]
   [-RemoveLicenses <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-MgUserLicense
   -UserId <String>
   -BodyParameter <IComponents103UmuuRequestbodiesAssignlicenserequestbodyContentApplicationJsonSchema>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-MgUserLicense
   -InputObject <IUsersActionsIdentity>
   [-AddLicenses <IMicrosoftGraphAssignedLicense[]>]
   [-AdditionalProperties <Hashtable>]
   [-RemoveLicenses <String[]>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-MgUserLicense
   -InputObject <IUsersActionsIdentity>
   -BodyParameter <IComponents103UmuuRequestbodiesAssignlicenserequestbodyContentApplicationJsonSchema>
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

Invoke action assignLicense

Examples

Example 1: Assign a license to a user

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'

Set-MgUserLicense -UserId '38955658-c844-4f59-9430-6519430ac89b' -AddLicenses @{SkuId = $EmsSku.SkuId} -RemoveLicenses @()

Id                                   DisplayName   Mail UserPrincipalName                     UserType
--                                   -----------   ---- -----------------                     --------
38955658-c844-4f59-9430-6519430ac89b Bianca Pisani      BiancaP@contoso.onmicrosoft.com       Member

This example assigns a license from the EMSPREMIUM (ENTERPRISE MOBILITY + SECURITY E5) licensing plan to the unlicensed user 38955658-c844-4f59-9430-6519430ac89b. For more information, see assign licenses to users accounts with PowerShell.

Example 2: Assign more than one licenses to a user

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'
$FlowSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'FLOW_FREE'
$addLicenses = @(
  @{SkuId = $EmsSku.SkuId},
  @{SkuId = $FlowSku.SkuId}
  )

Set-MgUserLicense -UserId '38955658-c844-4f59-9430-6519430ac89b' -AddLicenses $addLicenses -RemoveLicenses @()

Id                                   DisplayName   Mail UserPrincipalName                     UserType
--                                   -----------   ---- -----------------                     --------
38955658-c844-4f59-9430-6519430ac89b Bianca Pisani      BiancaP@contoso.onmicrosoft.com       Member

This example assigns EMSPREMIUM and FLOW_FREE licenses to the user 38955658-c844-4f59-9430-6519430ac89b.

Example 3: Assign a license to a user with some disabled plans

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'
$disabledPlans = $EmsSku.ServicePlans | where ServicePlanName -in ("MFA_PREMIUM", "INTUNE_A") | Select -ExpandProperty ServicePlanId
$addLicenses = @(
  @{SkuId = $EmsSku.SkuId
  DisabledPlans = $disabledPlans
  }
  )

Set-MgUserLicense -UserId '38955658-c844-4f59-9430-6519430ac89b' -AddLicenses $addLicenses -RemoveLicenses @()

Id                                   DisplayName   Mail UserPrincipalName                     UserType
--                                   -----------   ---- -----------------                     --------
38955658-c844-4f59-9430-6519430ac89b Bianca Pisani      BiancaP@contoso.onmicrosoft.com       Member

This example assigns EMSPREMIUM license with the MFA_PREMIUM and INTUNE_A services turned off.

Example 4: Update a license assigned to a user to add more disabled plans leaving the user's existing disabled plans in their current state

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'
$userLicense = Get-MgUserLicenseDetail -UserId "38955658-c844-4f59-9430-6519430ac89b"

$userDisabledPlans = $userLicense.ServicePlans |
  Where ProvisioningStatus -eq "Disabled" |
  Select -ExpandProperty ServicePlanId

$newDisabledPlans = $EmsSku.ServicePlans |
  Where ServicePlanName -in ("AAD_PREMIUM_P2", "AAD_PREMIUM") |
  Select -ExpandProperty ServicePlanId

$disabledPlans = $userDisabledPlans + $newDisabledPlans | Select -Unique

$addLicenses = @(
  @{SkuId = $EmsSku.SkuId
  DisabledPlans = $disabledPlans
  }
  )

Set-MgUserLicense -UserId '38955658-c844-4f59-9430-6519430ac89b' -AddLicenses $addLicenses -RemoveLicenses @()

Id                                   DisplayName   Mail UserPrincipalName                     UserType
--                                   -----------   ---- -----------------                     --------
38955658-c844-4f59-9430-6519430ac89b Bianca Pisani      BiancaP@contoso.onmicrosoft.com       Member

This example updates the EMSPREMIUM license assigned to the user to add AAD_PREMIUM_P2 and AAD_PREMIUM to the disabled services.

Example 5: Assign licenses to a user by copying the license assignment from another user

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

Select-MgProfile -Name Beta
$mgUser = Get-MgUser -UserId '38955658-c844-4f59-9430-6519430ac89b'

Set-MgUserLicense -UserId "82f51c98-7221-442f-8329-3faf9fe022f1" -AddLicenses $mgUser.AssignedLicenses -RemoveLicenses @()


Id                                   DisplayName    Mail UserPrincipalName                      UserType
--                                   -----------    ---- -----------------                      --------
82f51c98-7221-442f-8329-3faf9fe022f1 Mallory Cortez      MalloryC@contoso.onmicrosoft.com       Member

This examples copies the license assignment of user 38955658-c844-4f59-9430-6519430ac89b and assigns it to user 82f51c98-7221-442f-8329-3faf9fe022f1.

Example 6: Remove a license assigned to a user

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

$EmsSku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'EMSPREMIUM'

Set-MgUserLicense -UserId "38955658-c844-4f59-9430-6519430ac89b" -AddLicenses @() -RemoveLicenses @($EmsSku.SkuId)

Id                                   DisplayName   Mail UserPrincipalName                     UserType
--                                   -----------   ---- -----------------                     --------
38955658-c844-4f59-9430-6519430ac89b Bianca Pisani      BiancaP@contoso.onmicrosoft.com       Member

This example removes the EMSPREMIUM license assignment from the user.

Parameters

-AdditionalProperties

Additional Parameters

Type:Hashtable
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-AddLicenses

. To construct, please use Get-Help -Online and see NOTES section for ADDLICENSES properties and create a hash table.

Type:IMicrosoftGraphAssignedLicense[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-BodyParameter

. To construct, please use Get-Help -Online and see NOTES section for BODYPARAMETER properties and create a hash table.

Type:IComponents103UmuuRequestbodiesAssignlicenserequestbodyContentApplicationJsonSchema
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Identity Parameter To construct, please use Get-Help -Online and see NOTES section for INPUTOBJECT properties and create a hash table.

Type:IUsersActionsIdentity
Position:Named
Default value:None
Accept pipeline input:True
Accept wildcard characters:False

-RemoveLicenses

.

Type:String[]
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-UserId

key: id of user

Type:String
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Accept pipeline input:False
Accept wildcard characters:False

Inputs

Microsoft.Graph.PowerShell.Models.IComponents103UmuuRequestbodiesAssignlicenserequestbodyContentApplicationJsonSchema

Microsoft.Graph.PowerShell.Models.IUsersActionsIdentity

Outputs

Microsoft.Graph.PowerShell.Models.IMicrosoftGraphUser1

Notes

ALIASES

COMPLEX PARAMETER PROPERTIES

To create the parameters described below, construct a hash table containing the appropriate properties. For information on hash tables, run Get-Help about_Hash_Tables.

ADDLICENSES <IMicrosoftGraphAssignedLicense[]>: .

  • [DisabledPlans <String[]>]: A collection of the unique identifiers for plans that have been disabled.
  • [SkuId <String>]: The unique identifier for the SKU.

BODYPARAMETER <IComponents103UmuuRequestbodiesAssignlicenserequestbodyContentApplicationJsonSchema>: .

  • [(Any) <Object>]: This indicates any property can be added to this object.
  • [AddLicenses <IMicrosoftGraphAssignedLicense[]>]:
    • [DisabledPlans <String[]>]: A collection of the unique identifiers for plans that have been disabled.
    • [SkuId <String>]: The unique identifier for the SKU.
  • [RemoveLicenses <String[]>]:

INPUTOBJECT <IUsersActionsIdentity>: Identity Parameter

  • [AccessReviewInstanceId <String>]: key: id of accessReviewInstance
  • [AccessReviewStageId <String>]: key: id of accessReviewStage
  • [AppLogCollectionRequestId <String>]: key: id of appLogCollectionRequest
  • [AuthenticationMethodId <String>]: key: id of authenticationMethod
  • [BaseTaskId <String>]: key: id of baseTask
  • [BaseTaskListId <String>]: key: id of baseTaskList
  • [CalendarId <String>]: key: id of calendar
  • [ChatId <String>]: key: id of chat
  • [ChatMessageId <String>]: key: id of chatMessage
  • [ChatMessageId1 <String>]: key: id of chatMessage
  • [CloudPcId <String>]: key: id of cloudPC
  • [ContentTypeId <String>]: key: id of contentType
  • [DeviceEnrollmentConfigurationId <String>]: key: id of deviceEnrollmentConfiguration
  • [DeviceId <String>]: key: id of device
  • [DeviceLogCollectionResponseId <String>]: key: id of deviceLogCollectionResponse
  • [DocumentSetVersionId <String>]: key: id of documentSetVersion
  • [DriveId <String>]: key: id of drive
  • [DriveItemId <String>]: key: id of driveItem
  • [DriveItemVersionId <String>]: key: id of driveItemVersion
  • [EventId <String>]: key: id of event
  • [EventId1 <String>]: key: id of event
  • [ListItemId <String>]: key: id of listItem
  • [ListItemVersionId <String>]: key: id of listItemVersion
  • [MailFolderId <String>]: key: id of mailFolder
  • [MailFolderId1 <String>]: key: id of mailFolder
  • [ManagedDeviceId <String>]: key: id of managedDevice
  • [MessageId <String>]: key: id of message
  • [MicrosoftAuthenticatorAuthenticationMethodId <String>]: key: id of microsoftAuthenticatorAuthenticationMethod
  • [MobileAppTroubleshootingEventId <String>]: key: id of mobileAppTroubleshootingEvent
  • [NotebookId <String>]: key: id of notebook
  • [OnenotePageId <String>]: key: id of onenotePage
  • [OnenoteSectionId <String>]: key: id of onenoteSection
  • [OutlookTaskFolderId <String>]: key: id of outlookTaskFolder
  • [OutlookTaskGroupId <String>]: key: id of outlookTaskGroup
  • [OutlookTaskId <String>]: key: id of outlookTask
  • [PasswordlessMicrosoftAuthenticatorAuthenticationMethodId <String>]: key: id of passwordlessMicrosoftAuthenticatorAuthenticationMethod
  • [PermissionId <String>]: key: id of permission
  • [PhoneAuthenticationMethodId <String>]: key: id of phoneAuthenticationMethod
  • [ResourceSpecificPermissionGrantId <String>]: key: id of resourceSpecificPermissionGrant
  • [SensitivityLabelId <String>]: key: id of sensitivityLabel
  • [SubscriptionId <String>]: key: id of subscription
  • [TeamsAppInstallationId <String>]: key: id of teamsAppInstallation
  • [TodoTaskId <String>]: key: id of todoTask
  • [TodoTaskListId <String>]: key: id of todoTaskList
  • [UserId <String>]: key: id of user
  • [WindowsHelloForBusinessAuthenticationMethodId <String>]: key: id of windowsHelloForBusinessAuthenticationMethod