Обновление списка устройств с помощью политики
Область применения: Центр партнеров
Как обновить список устройств с политикой конфигурации для указанного клиента.
Необходимые компоненты
Учетные данные, описанные в статье о проверке подлинности в Центре партнеров. Этот сценарий поддерживает проверку подлинности с помощью автономных учетных данных приложения и приложения и пользователя.
Идентификатор клиента (
customer-tenant-id
). Если вы не знаете идентификатор клиента, его можно найти в Центре партнеров, выбрав рабочую область "Клиенты" , затем клиент из списка клиентов, а затем учетная запись. На странице "Учетная запись клиента" найдите идентификатор Майкрософт в разделе "Сведения о учетной записи клиента". Идентификатор Майкрософт совпадает с идентификатором клиента (customer-tenant-id
).Идентификатор политики.
Идентификаторы устройств для обновления.
C#
Чтобы обновить список устройств с указанной политикой конфигурации, сначала создайте экземпляр [List/dotnet/api/system.collections.generic.list-1) типа [KeyValuePair/dotnet/api/system.collections.generic.keyvaluepair-2)(PolicyCategory,string) и добавьте политику для применения, как показано в следующем примере кода. Вам потребуется идентификатор политики политики.
Затем создайте список объектов устройств , которые необходимо обновить с помощью политики, указав идентификатор устройства и список, содержащий политику, которая будет применяться для каждого устройства. Затем создайте экземпляр объекта DevicePolicyUpdateRequest и задайте для свойства Devices список объектов устройства.
Чтобы обработать запрос на обновление политики устройства, вызовите метод IAggregatePartner.Customers.ById с идентификатором клиента, чтобы получить интерфейс для операций с указанным клиентом. Затем получите свойство DevicePolicy , чтобы получить интерфейс для операций сбора устройств клиента. Наконец, вызовите метод Update с объектом DevicePolicyUpdateRequest, чтобы обновить устройства с помощью политики.
IAggregatePartner partnerOperations;
string selectedCustomerId;
string selectedConfigurationPolicyId;
string selectedDeviceId;
// Indicate the policy to apply to the list of devices.
List<KeyValuePair<PolicyCategory, string>>
policyToBeAdded = new List<KeyValuePair<PolicyCategory, string>>
{
new KeyValuePair<PolicyCategory, string>
(PolicyCategory.OOBE, selectedConfigurationPolicyId)
};
// Create a list of devices to be updated with a policy.
List<Device> devices = new List<Device>
{
new Device
{
Id = selectedDeviceId,
Policies=policyToBeAdded
}
};
// Instantiate a DevicePolicyUpdateRequest object.
DevicePolicyUpdateRequest
devicePolicyUpdateRequest = new DevicePolicyUpdateRequest
{
Devices = devices
};
// Process the DevicePolicyUpdateRequest.
var trackingLocation =
partnerOperations.Customers.ById(selectedCustomerId).DevicePolicy.Update(devicePolicyUpdateRequest);
Пример: тестовое приложение консоли. Проект: Класс примеров пакета SDK Для Центра партнеров: UpdateDevicesPolicy.cs
Запрос REST
Синтаксис запроса
Способ | URI запроса |
---|---|
PATCH | {baseURL}/v1/customers/{customer-id}/DevicePolicy Обновления HTTP/1.1 |
Параметр универсального кода ресурса
При создании запроса используйте следующие параметры пути.
Имя. | Type | Обязательно | Описание |
---|---|---|---|
customer-id | строка | Да | Строка в формате GUID, определяющая клиент. |
Заголовки запросов
Дополнительные сведения см. в статье о заголовках REST Центра партнеров.
Текст запроса
Текст запроса должен содержать ресурс DevicePolicyUpdateRequest .
Пример запроса
PATCH https://api.partnercenter.microsoft.com/v1/customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/DevicePolicyUpdates HTTP/1.1
Authorization: Bearer <token>
Accept: application/json
MS-RequestId: 1b658428-5afa-46d4-af86-c9c6af5634e2
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
X-Locale: en-US
MS-PartnerCenter-Application: Partner Center .NET SDK Samples
Content-Type: application/json
Host: api.partnercenter.microsoft.com
Content-Length: 363
Expect: 100-continue
Connection: Keep-Alive
{
"Devices": [{
"Id": "9993-8627-3608-6844-6369-4361-72",
"SerialNumber": null,
"ProductKey": null,
"HardwareHash": null,
"Policies": [{
"Key": "o_o_b_e",
"Value": "15a04610-9229-4e80-94e0-0e826a09c9e2"
}
],
"CreatedBy": null,
"UploadedDate": "0001-01-01T00:00:00",
"AllowedOperations": null,
"Attributes": {
"ObjectType": "Device"
}
}
],
"Attributes": {
"ObjectType": "DevicePolicyUpdateRequest"
}
}
Внимание
По состоянию на июнь 2023 г. последняя версия пакета SDK для .NET для Центра партнеров 3.4.0 теперь архивируется. Вы можете скачать выпуск пакета SDK из GitHub вместе с файлом чтения, содержащим полезные сведения.
Партнерам рекомендуется продолжать использовать REST API Центра партнеров.
Ответ REST
При успешном выполнении ответ содержит заголовок location , имеющий универсальный код ресурса (URI), который можно использовать для получения состояния этого пакетного процесса. Сохраните этот универсальный код ресурса (URI) для использования с другими связанными REST API.
Коды успешного выполнения и ошибок в ответе
Каждый ответ сопровождается кодом состояния HTTP, обозначающим успешное или неудачное выполнение, и дополнительными сведениями для отладки. Используйте средство трассировки сети, чтобы просматривать этот код, тип ошибки и дополнительные параметры. Полный список ответов есть в статье Коды ошибок REST в Центре партнеров.
Пример ответа
HTTP/1.1 202 Accepted
Content-Length: 0
Location: /customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/batchJobStatus/a15f3996-620a-4404-9f1f-4c2de78de0de
MS-CorrelationId: aaaa0000-bb11-2222-33cc-444444dddddd
MS-RequestId: 1b658428-5afa-46d4-af86-c9c6af5634e2
MS-CV: rCXyd8Z/lUSxUd0P.0
MS-ServerId: 020021921
Date: Thu, 28 Sep 2017 21:33:05 GMT