デバイスを更新する
[アーティクル]
01/27/2023
12 人の共同作成者
フィードバック
この記事の内容
名前空間: microsoft.graph
登録済みデバイスのプロパティを更新します。
承認済みモバイル デバイス管理 (MDM) アプリによって、デバイスの特定のプロパティのみを更新できます。
重要
この API には既知 の問題があります。 アプリケーションのアクセス許可を持つアプリでは、Linux ベースのデバイスの extensionAttributes プロパティを更新できません。つまり、 operationSystem プロパティは です linux
。
アクセス許可
この API を呼び出すには、次のいずれかのアクセス許可が必要です。 アクセス許可の選択方法などの詳細については、「アクセス許可 」を参照してください。
アクセス許可の種類
アクセス許可 (特権の小さいものから大きいものへ)
委任 (職場または学校のアカウント)
Directory.AccessAsUser.All
委任 (個人用 Microsoft アカウント)
サポートされていません。
アプリケーション
Device.ReadWrite.All、Directory.ReadWrite.All
呼び出し元のユーザーは、次のいずれかの Azure AD ロール である必要があります:グローバル管理者 、Intune管理者 。 Cloud Device Administrator ロールの呼び出し元ユーザーは、この API を使用してデバイスのみを有効または無効にでき、Windows 365管理者 ロールを持つユーザーは基本的なデバイス プロパティのみを更新できます。
HTTP 要求
ID または deviceId を使用してデバイスをアドレス指定できます。
PATCH /devices/{id}
PATCH /devices(deviceId='{deviceId}')
名前
型
説明
Authorization
string
ベアラー {token}。 必須です。
要求本文
要求本文で、更新するデバイス プロパティの値を指定します。 要求本文に含まれない既存のプロパティは、以前の値のままになるか、他のプロパティ値の変化に基づいて再計算されます。 最適なパフォーマンスを得るためには、変更されていない既存の値を含めないでください。
プロパティ
型
説明
accountEnabled
Boolean
アカウントが有効な場合は true
であり、それ以外の場合は false
です。 このプロパティを更新できるのは、 グローバル管理者 ロールと クラウド デバイス管理者 ロールの呼び出し元のみです。
operatingSystem
String
デバイス上のオペレーティング システムの種類。
operatingSystemVersion
String
デバイス上のオペレーティング システムのバージョン
displayName
String
デバイスの表示名。
isCompliant
ブール型
true
デバイスがモバイル デバイス管理 (MDM) ポリシーに準拠している場合は 。それ以外の場合false
は 。 これは、任意のデバイス OS の種類のIntune、または Windows OS デバイス用の承認済みの MDM アプリ によってのみ更新できます。
isManaged
ブール型
true
デバイスが Mobile デバイス管理 (MDM) アプリによって管理されている場合は 。それ以外の場合false
は 。 これは、任意のデバイス OS の種類のIntune、または Windows OS デバイス用の承認済みの MDM アプリ によってのみ更新できます。
応答
成功した場合、このメソッドは 204 No Content
応答コードを返します。
例
例 1: デバイスの accountEnabled プロパティを更新する
要求
PATCH https://graph.microsoft.com/v1.0/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac
Content-type: application/json
{
"accountEnabled": false
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var device = new Device
{
AccountEnabled = false
};
await graphClient.Devices["{device-id}"]
.Request()
.UpdateAsync(device);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
const device = {
accountEnabled: false
};
await client.api('/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac')
.update(device);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
GraphServiceClient graphClient = GraphServiceClient.builder().authenticationProvider( authProvider ).buildClient();
Device device = new Device();
device.accountEnabled = false;
graphClient.devices("7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac")
.buildRequest()
.patch(device);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := graphmodels.NewDevice()
accountEnabled := false
requestBody.SetAccountEnabled(&accountEnabled)
result, err := graphClient.DevicesById("device-id").Patch(context.Background(), requestBody, nil)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new Device();
$requestBody->setAccountEnabled(false);
$requestResult = $graphServiceClient->devicesById('device-id')->patch($requestBody);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
HTTP/1.1 204 No Content
例 2: デバイスに extensionAttributes を書き込む
要求
PATCH https://graph.microsoft.com/v1.0/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac
Content-type: application/json
{
"extensionAttributes": {
"extensionAttribute1": "BYOD-Device"
}
}
GraphServiceClient graphClient = new GraphServiceClient( authProvider );
var device = new Device
{
AdditionalData = new Dictionary<string, object>()
{
{"extensionAttributes", "{\"extensionAttribute1\":\"BYOD-Device\"}"}
}
};
await graphClient.Devices["{device-id}"]
.Request()
.UpdateAsync(device);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
const options = {
authProvider,
};
const client = Client.init(options);
const device = {
extensionAttributes: {
extensionAttribute1: 'BYOD-Device'
}
};
await client.api('/devices/7c06cd31-7c30-4f3b-a5c3-444cd8dd63ac')
.update(device);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
//THE GO SDK IS IN PREVIEW. NON-PRODUCTION USE ONLY
graphClient := msgraphsdk.NewGraphServiceClient(requestAdapter)
requestBody := graphmodels.NewDevice()
additionalData := map[string]interface{}{
extensionAttributes := graphmodels.New()
extensionAttribute1 := "BYOD-Device"
extensionAttributes.SetExtensionAttribute1(&extensionAttribute1)
requestBody.SetExtensionAttributes(extensionAttributes)
}
requestBody.SetAdditionalData(additionalData)
result, err := graphClient.DevicesById("device-id").Patch(context.Background(), requestBody, nil)
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
<?php
// THIS SNIPPET IS A PREVIEW FOR THE KIOTA BASED SDK. NON-PRODUCTION USE ONLY
$graphServiceClient = new GraphServiceClient($requestAdapter);
$requestBody = new Device();
$additionalData = [
'extensionAttributes' => $requestBody = new ExtensionAttributes();
$ requestBody->setExtensionAttribute1('BYOD-Device');
$requestBody->setExtensionAttributes($extensionAttributes);
];
$requestBody->setAdditionalData($additionalData);
$requestResult = $graphServiceClient->devicesById('device-id')->patch($requestBody);
SDK をプロジェクトに追加し、authProvider インスタンスを作成する 方法の詳細については、SDK のドキュメントを参照してください 。
応答
HTTP/1.1 204 No Content