Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Обновление свойств устройства. С помощью утвержденных приложений для мобильных Управление устройствами (MDM) можно обновить только определенные свойства устройства.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
Directory.AccessAsUser.All |
Недоступно. |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Для приложений |
Device.ReadWrite.All |
Directory.ReadWrite.All |
В сценариях только для приложений и для устройств, отличных от Windows, то есть если свойство operatingSystem не Windows
является , приложение может обновить только свойство extensionAttributes .
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшему пользователю должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли.
Intune администратор является наименее привилегированной ролью, поддерживаемой для этой операции. Вызывающий пользователь с ролью администратора облачных устройств может включать или отключать только устройства, а пользователь с ролью Windows 365 администратора может обновлять только базовые свойства устройства.
HTTP-запрос
Вы можете обратиться к устройству, используя его идентификатор или идентификатор устройства.
PATCH /devices/{id}
PATCH /devices(deviceId='{deviceId}')
Текст запроса
Укажите в теле запроса значения обновляемых свойств device. Предыдущие значения существующих свойств, не включенных в текст запроса, останутся прежними или будут повторно вычислены с учетом измененных значений других свойств. Для достижения оптимальной производительности не следует включать существующие значения, которые не изменились.
Свойство |
Тип |
Описание |
accountEnabled |
Логический |
Если учетная запись обеспечена — true , в противном случае — false . Только вызывающие абоненты с ролью администратора облачных устройств могут обновить это свойство. |
alternativeNames |
Коллекция строк |
Список альтернативных имен для устройства, например resourceIds . |
displayName |
String |
Отображаемое имя устройства. |
isCompliant |
Логический |
true Значение , если устройство соответствует политикам mobile Управление устройствами (MDM); в противном случае — false значение . Это может быть обновлено только Intune для любого типа ОС устройства или утвержденным приложением MDM для устройств с ОС Windows. |
isManaged |
Логический |
true Значение , если устройство управляется приложением mobile Управление устройствами (MDM); в противном случае — false значение . Это может быть обновлено только Intune для любого типа ОС устройства или утвержденным приложением MDM для устройств с ОС Windows. |
operatingSystem |
String |
Тип операционной системы на устройстве. |
operatingSystemVersion |
Строка |
Версия операционной системы на устройстве. |
Так как ресурс устройства поддерживает расширения, можно использовать PATCH
операцию для добавления, обновления или удаления собственных данных, относящихся к приложению, в пользовательских свойствах расширения в существующем экземпляре устройства .
Отклик
В случае успешного выполнения этот метод возвращает код отклика 204 No Content
.
Примеры
Пример 1. Обновление свойства accountEnabled устройства
Запрос
PATCH https://graph.microsoft.com/beta/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac
Content-type: application/json
{
"accountEnabled": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Device
{
AccountEnabled = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Devices["{device-id}"].PatchAsync(requestBody);
mgc-beta devices patch --device-id {device-id} --body '{\
"accountEnabled": false\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDevice()
accountEnabled := false
requestBody.SetAccountEnabled(&accountEnabled)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
devices, err := graphClient.Devices().ByDeviceId("device-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Device device = new Device();
device.setAccountEnabled(false);
Device result = graphClient.devices().byDeviceId("{device-id}").patch(device);
const options = {
authProvider,
};
const client = Client.init(options);
const device = {
accountEnabled: false
};
await client.api('/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac')
.version('beta')
.update(device);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Device;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Device();
$requestBody->setAccountEnabled(false);
$result = $graphServiceClient->devices()->byDeviceId('device-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
accountEnabled = $false
}
Update-MgBetaDevice -DeviceId $deviceId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.device import Device
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Device(
account_enabled = False,
)
result = await graph_client.devices.by_device_id('device-id').patch(request_body)
Отклик
HTTP/1.1 204 No Content
Пример 2. Запись extensionAttributes на устройстве
Запрос
PATCH https://graph.microsoft.com/beta/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac
Content-type: application/json
{
"extensionAttributes": {
"extensionAttribute1": "BYOD-Device"
}
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new Device
{
ExtensionAttributes = new OnPremisesExtensionAttributes
{
ExtensionAttribute1 = "BYOD-Device",
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Devices["{device-id}"].PatchAsync(requestBody);
mgc-beta devices patch --device-id {device-id} --body '{\
"extensionAttributes": {\
"extensionAttribute1": "BYOD-Device"\
}\
}\
'
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDevice()
extensionAttributes := graphmodels.NewOnPremisesExtensionAttributes()
extensionAttribute1 := "BYOD-Device"
extensionAttributes.SetExtensionAttribute1(&extensionAttribute1)
requestBody.SetExtensionAttributes(extensionAttributes)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
devices, err := graphClient.Devices().ByDeviceId("device-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Device device = new Device();
OnPremisesExtensionAttributes extensionAttributes = new OnPremisesExtensionAttributes();
extensionAttributes.setExtensionAttribute1("BYOD-Device");
device.setExtensionAttributes(extensionAttributes);
Device result = graphClient.devices().byDeviceId("{device-id}").patch(device);
const options = {
authProvider,
};
const client = Client.init(options);
const device = {
extensionAttributes: {
extensionAttribute1: 'BYOD-Device'
}
};
await client.api('/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac')
.version('beta')
.update(device);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\Device;
use Microsoft\Graph\Beta\Generated\Models\OnPremisesExtensionAttributes;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Device();
$extensionAttributes = new OnPremisesExtensionAttributes();
$extensionAttributes->setExtensionAttribute1('BYOD-Device');
$requestBody->setExtensionAttributes($extensionAttributes);
$result = $graphServiceClient->devices()->byDeviceId('device-id')->patch($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
extensionAttributes = @{
extensionAttribute1 = "BYOD-Device"
}
}
Update-MgBetaDevice -DeviceId $deviceId -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.device import Device
from msgraph_beta.generated.models.on_premises_extension_attributes import OnPremisesExtensionAttributes
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Device(
extension_attributes = OnPremisesExtensionAttributes(
extension_attribute1 = "BYOD-Device",
),
)
result = await graph_client.devices.by_device_id('device-id').patch(request_body)
Отклик
HTTP/1.1 204 No Content
Связанные материалы