Skip to content

Graph API bug "assignLicenses" #3229

Closed
Closed
@OtterKring

Description

@OtterKring

Describe the bug

Assigning and removing licenses from users has stopped working this monday, regardless if I use Microsoft.Graph module 2.25, 2.26.1 or Invoke-MgGraphRequest.

Error sources I can rule out so far:

  • missing permissions. My application permissions have not changed
  • typos. I am using the same function for years now and the problem started this week, manual or with the function.

This is the code I use for removing licenses:

... | %{get-mguser -userid $_ -Property id,assignedlicenses | %{Set-MgUserLicense -UserId $_.id -RemoveLicenses $_.assignedlicenses.skuid -AddLicenses @() }}

I get the following error message:

Set-MgUserLicense_AssignExpanded: One or more parameters of the operation 'assignLicense' are missing from the request payload. The missing parameters are: addLicenses.

Status: 400 (BadRequest)
ErrorCode: Request_BadRequest
Date: 2025-03-19T07:43:08

Headers:
Cache-Control                 : no-cache
Vary                          : Accept-Encoding
Strict-Transport-Security     : max-age=31536000
request-id                    : a7dbed89-d1e9-438b-83c5-626efe58b8c5
client-request-id             : 34c9eed1-b70b-4390-bb2b-f5a0d1568c58
x-ms-ags-diagnostic           : {"ServerInfo":{"DataCenter":"West Europe","Slice":"E","Ring":"5","ScaleUnit":"003","RoleInstance":"AM1PEPF0003D2F2"}}
x-ms-resource-unit            : 1
Date                          : Wed, 19 Mar 2025 07:43:08 GMT


  Recommendation: See service error codes: https://learn.microsoft.com/graph/errors

When adding a license like this:

... | %{get-mguser -userid $_ | %{Set-MgUserLicense -userid $_.id -AddLicenses @(@{skuid='f30db892-07e9-47e9-837c-80727f46fd3d'}) -RemoveLicenses @()}}

I get this(same) error message:

Set-MgUserLicense_AssignExpanded: One or more parameters of the operation 'assignLicense' are missing from the request payload. The missing parameters are: removeLicenses.

Status: 400 (BadRequest)
ErrorCode: Request_BadRequest
Date: 2025-03-19T08:15:59

Headers:
Cache-Control                 : no-cache
Vary                          : Accept-Encoding
Strict-Transport-Security     : max-age=31536000
request-id                    : 7c9e32c5-be69-4317-8b6b-8416a538d9d0
client-request-id             : f93be6b9-6939-49cd-be60-7a21201c7030
x-ms-ags-diagnostic           : {"ServerInfo":{"DataCenter":"West Europe","Slice":"E","Ring":"5","ScaleUnit":"011","RoleInstance":"AM2PEPF0001BE7C"}}
x-ms-resource-unit            : 1
Date                          : Wed, 19 Mar 2025 08:15:59 GMT


  Recommendation: See service error codes: https://learn.microsoft.com/graph/errors

Invoke-MgGraphRequest

$l = 'f30db892-07e9-47e9-837c-80727f46fd3d'
$body = @{addLicenses = @(@{skuid = $l}); removeLicenses = @()}
Invoke-MgGraphRequest -Method POST -Uri "https://graph.microsoft.com/v1.0/users/$((get-mguser -userid xxx).id)/assignLicense" -Body ($body | ConvertTo-Json)

Error message:

Invoke-MgGraphRequest: POST https://graph.microsoft.com/v1.0/users/e93c0692-6f80-48d7-a449-350c21eac1d1/assignLicense
HTTP/2.0 400 Bad Request
Cache-Control: no-cache
Vary: Accept-Encoding
Strict-Transport-Security: max-age=31536000
request-id: f9ad51d8-1899-46ec-9c02-2a58bcd8d2a8
client-request-id: ea230e52-f525-4b60-92e2-c6fba34dfc00
x-ms-ags-diagnostic: {"ServerInfo":{"DataCenter":"West Europe","Slice":"E","Ring":"5","ScaleUnit":"005","RoleInstance":"AM4PEPF0002BAC3"}}
x-ms-resource-unit: 1
Date: Wed, 19 Mar 2025 07:54:54 GMT
Content-Type: application/json

{"error":{"code":"Request_BadRequest","message":"Invalid value specified for property 'skuId' of resource 'AssignedLicense'.","details":[{"code":"InvalidValue","message":"Invalid value specified for property 'skuId' of resource 'AssignedLicense'.","target":"skuId"}],"innerError":{"date":"2025-03-19T07:54:54","request-id":"f9ad51d8-1899-46ec-9c02-2a58bcd8d2a8","client-request-id":"ea230e52-f525-4b60-92e2-c6fba34dfc00"}}}

using Set-MgBetaUserLicense (Module 2.26.1)

Same issue.

Expected behavior

Well, licenses should be added or removed. 🤷‍♂️

How to reproduce

See "Describe the bug"

SDK Version

2.25, 2.26.1

Latest version known to work for scenario above?

I don't think it is related to the modules, but to the API itself

Known Workarounds

Use admin.microsoft.com. Tedious if you have a lot of users to process.

Debug output

Click to expand log ```
</details>


### Configuration

Name Value


PSVersion 7.5.0
PSEdition Core
GitCommitId 7.5.0
OS Microsoft Windows 10.0.26100
Platform Win32NT
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
WSManStackVersion 3.0


### Other information

The behavior started for me on monday, March 17th. There was no upgrade to Powershell or the Graph module during this time, no change in permissions or the used function.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions