Обновление устройств Microsoft Intune через Powershell

Нужна небольшая помощь с интерфейсом Intune Powershell / graph.

Я пытаюсь управлять категориями устройств Intune через Powershell, чтобы я мог, во-первых, исправить устройства, которые были помещены в неправильную категорию во время регистрации, а во-вторых, я нахожусь в процессе перехода от гибридного SCCM / Intune к Azure Intune и где мы я не использую категории устройств для устройств, уже зарегистрированных в SCCM Hybrid Intune, я хочу использовать PowerShell для циклического просмотра CSV-файла, полного серийных номеров устройств / номеров IMEI, и помещения корпоративных устройств в правильную категорию устройств.

Исследование powershell / graph интерфейс для Intune, я могу сделать что-то вроде

Get-IntuneManagedDevice -Filter «IMEI eq '01 012345 678910 1 '» (Или -Filter «serialNumber eq' DEADBEEF '» или что-то еще) и получить вывод всех данных моего устройства. Это включает поле для «deviceCategoryDisplayName», которое я хочу изменить.

Я могу даже сделать Get-IntuneManagedDevice -Filter "serialNumber eq 'DEADBEEF'" | выберите manageddeviceid , чтобы получить значение managedDeviceID в качестве вывода.

Насколько я могу судить, это должно работать с Update-IntuneManagedDevice (см. ниже)

get-help Update-IntuneManagedDevice -detailed

NAME
Update-IntuneManagedDevice

SYNOPSIS
Updates a "microsoft.graph.managedDevice".

SYNTAX
Update-IntuneManagedDevice -managedDeviceId <string>

Таким образом, я смогу обновить устройство, используя его ID управляемого устройства?

Я не могу сделать следующее:

Get-IntuneManagedDevice -Filter "serialNumber eq 'deadbeef'"| select manageddeviceid | Update-IntuneManagedDevice -deviceCategoryDisplayName 'BYOD'

Когда я пытаюсь, я получаю сообщение об ошибке, указанное ниже. Ясно, что я делаю что-то не так, но может ли кто-нибудь указать мне правильное направление? Я не думаю, что то, что я пытаюсь сделать, в корне необоснованно ... не так ли?

(для ясности, выполняю Get-IntuneManagedDevice -managedDeviceID deadbeef-aaaa-bbbb-cccc-0123456789ab возвращает сведения о моем целевом устройстве в порядке, и выполнение Update-IntuneManagedDevice -managedDeviceID deadbeef-aaaa-bbbb-cccc-0123456789ab -deviceCategoryDisplayName 'BYOD' дает мне ту же ошибку)

Update-IntuneManagedDevice : 400 Bad Request
{
"error": {
"code": "InternalError",
"message": "{\r\n \"_version\": 3,\r\n \"Message\": \"An error has occurred - Operation ID (for customer support): 00000000-0000-0000-0000-000000000000 - Activity ID: 6f743002-b0e0-48ed-a25d-0cdd33870efd - Url:
https://fef.msub02.manage.microsoft.com/DeviceFE/StatelessDeviceFEService/deviceManagement/managedDe... \"CustomApiErrorPhrase\":
\"\",\r\n \"RetryAfter\": null,\r\n \"ErrorSourceService\": \"\",\r\n \"HttpHeaders\": \"{}\"\r\n}",
"innerError": {
"request-id": "6f743002-b0e0-48ed-a25d-0cdd33870efd",
"date": "2019-03-06T14:08:02"
}
}
}
At line:1 char:92
+ ... ddeviceid | Update-IntuneManagedDevice -deviceCategoryDisplayName 'BY ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ConnectionError: (@{Request=; Response=}:PSObject) [Update-IntuneManagedDevice], HttpRequestException
+ FullyQualifiedErrorId : PowerShellGraphSDK_HttpRequestError,Microsoft.Intune.PowerShellGraphSDK.PowerShellCmdlets.Update_IntuneManagedDevice
2
задан 6 March 2019 в 17:25
1 ответ

Поработав над этим, на данный момент необходимо работать с функциями MS Graph для Intune PowerShell. Вам также потребуется работать с номерами идентификаторов GUID для устройства в категории.

Получите категории устройств Intune с помощью Get-IntuneDeviceCategory и идентификатора устройства Intune с помощью Get-IntuneManagedDevice ( обратите внимание, здесь вам нужно поле «ID», а не «AzureADDeviceID».

Вот рабочий прототип

 #this is an example for 1 device:
 $intuneDeviceId = 'deadbeef-aaaa-bbbb-cccc-0123456789ab' #update the IntuneDeviceID, you will need to implement a loop for mutiple devices
 $deviceCategoryReqBody = '{"@odata.id":"https://graph.microsoft.com/beta/deviceManagement/deviceCategories/98765432-aaaa-bbbb-cccc-0123456789ab"}' #update the deviceCateg id
 $patchDeviceReqBody = '{}'

 #Running a GET method on the device ID to check its validity
 Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/deviceManagement/managedDevices/$intuneDeviceId/deviceCategory" -Headers $authToken -Method Get

 #calling the PUT method to update device category for that specific device
 Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/deviceManagement/managedDevices/$intuneDeviceId/deviceCategory/`$ref" -Headers $authToken -Method Put -Body $deviceCategoryReqBody

 #calling the PATCH method to update device details about device category
 Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/deviceManagement/managedDevices/$intuneDeviceId" -Headers $authToken -Method Patch -Body $patchDeviceReqBody

  #Running a GET method on the device ID to check its validity
 Invoke-RestMethod -Uri "https://graph.microsoft.com/beta/deviceManagement/deviceCategories/" -Headers $authToken -Method Get

#endregion
0
ответ дан 3 December 2019 в 13:48

Теги

Похожие вопросы