Microsoft Graph API - Remove Device based on user information

Viewed 426

Ok, I am grabbing data from a user using graph api (Power Automate). The URL i am using is:

GET https://graph.microsoft.com/v1.0/users/{id}/manageddevices

This produces a good list. It has the ID, azureID, and other items. The client wants me to delete this device from azure AD. Here is the delete code I am trying to use in my loop.

DELETE https://graph.microsoft.com/v1.0/devices/{The first commands ID}

However, the ID is not matching. The first command's ID shows device 1BB373, but Azure AD shows the device id 855 and the object id as 8b737.

I have also tried using the delete managed device as this device is in intune.

DELETE /users/{usersId}/managedDevices/{The first commands ID}
DELETE /deviceManagement/managedDevices/{The first commands ID}

The device is azure domain joined by the user in question. This will also be applied to non-windows devices as well like cellphones and tablets. Am I on the right track, do I need to change up how I am gathering the users devices?

Update: I tried:

Delete https://graph.microsoft.com/v1.0/users/{ID}/managedevices/{ID}

I received a different result this time around. Here is the error message:

"code": "No method match route template",
"message": "No OData route exists that match template ~/entityset/key/navigation/key with http verb DELETE for request /DeviceFE/StatelessDeviceFEService/users('4c1d-userid')/managedDevices('99ed-id').",

I'm not sure what this all means. (Delete ManagedDevices) The permissions are set according to this documnetation.

Update 4/6/2022:

I have discovered that the DeviceID and the AzureID are the same. Thus I can use the

GET /devices?$search="deviceID=AzureID

I have tried be above methodologies and discovered the Delete /devices does not have an application method. Here is the method I finally tried that gave me any kind of response:

GET https://graph.microsoft.com/v1.0/users/@{items('select_loop')['id']}/managedDevices/@{items('ATE-DeleteDevice')}

This was the response, ids shortened of course

{
    "error": {
      "code": "No method match route template",
      "message": "No OData route exists that match template ~/entityset/key/navigation/key with http verb DELETE for request /DeviceFE/StatelessDeviceFEService/users('4c1d35d0')/managedDevices('{\"id\":\"8b737697\"}').",
      "innerError": {
        "date": "2022-04-06T17:08:47",
        "request-id": "1d57a423",
        "client-request-id": "1d57a423"
      }
    }
  }
1 Answers

Deleting a device from Azure AD is currently in preview for Graph API Beta.

DELETE /admin/windows/updates/updatableAssets/{azureADDeviceId}

Graph API v1.0 doesn't support deleting a device from Azure AD.

Resources:

Delete azureADDevice

Related