Atualizar uma lista de dispositivos com uma políticaUpdate a list of devices with a policy

Aplica-se aApplies To

  • Partner CenterPartner Center
  • Partner Center do Microsoft Cloud GermanyPartner Center for Microsoft Cloud Germany

Como atualizar uma lista de dispositivos com uma política de configuração para o cliente especificado.How to update a list of devices with a configuration policy for the specified customer.

Pré-requisitosPrerequisites

  • Credenciais, conforme descrito em Autenticação do Partner Center.Credentials as described in Partner Center authentication. Esse cenário dá suporte à autenticação com aplicativos autônomos e aplicativos + credenciais de usuário.This scenario supports authentication with both standalone App and App+User credentials.

  • Uma ID do cliente (customer-tenant-id).A customer ID (customer-tenant-id). Se você não souber a ID do cliente, poderá procurar no painel do Partner Center.If you don't know the customer's ID, you can look it up in the Partner Center dashboard. Selecione CSP no menu do Partner Center e, em seguida, Clientes.Select CSP from the Partner Center menu, followed by Customers. Selecione o cliente na lista de clientes e selecione Conta.Select the customer from the customer list, then select Account. Na página Conta do cliente, procure a ID da Microsoft na seção Informações da Conta do Cliente.On the customer’s Account page, look for the Microsoft ID in the Customer Account Info section. A ID da Microsoft é igual à ID do cliente (customer-tenant-id).The Microsoft ID is the same as the customer ID (customer-tenant-id).

  • O identificador da política.The policy identifier.

  • Os identificadores de dispositivo dos dispositivos a serem atualizados.The device identifiers of the devices to update.

C#C#

Para atualizar uma lista de dispositivos com a política de configuração especificada, primeiro, crie uma instância de [lista/dotnet/API/System. Collections. Generic. list-1) do tipo [KeyValuePair/dotnet/API/System. Collections. Generic. KeyValuePair -2)(PolicyCategory,String) e adicione a política a ser aplicada, conforme mostrado no exemplo de código a seguir.To update a list of devices with the specified configuration policy, first, instantiate a [List/dotnet/api/system.collections.generic.list-1) of type [KeyValuePair/dotnet/api/system.collections.generic.keyvaluepair-2)(PolicyCategory,string) and add the policy to apply, as shown in the following code example. Você precisará do identificador de política da política.You will need the policy identifier of the policy.

Em seguida, crie uma lista de objetos de dispositivo a serem atualizados com a política, especificando o identificador de dispositivo e a lista que contém a política a ser aplicada, para cada dispositivo.Then, create a list of Device objects to be updated with the policy, specifying the device identifier and the list that contains the policy to apply, for each device. Em seguida, crie uma instância de um objeto DevicePolicyUpdateRequest e defina a propriedade Devices como a lista de objetos de dispositivo.Next, instantiate a DevicePolicyUpdateRequest object and set the Devices property to the list of device objects.

Para processar a solicitação de atualização de política de dispositivo, chame o método IAggregatePartner. Customers. ById com o identificador de cliente para recuperar uma interface para operações no cliente especificado.To process the device policy update request, call the IAggregatePartner.Customers.ById method with the customer identifier to retrieve an interface to operations on the specified customer. Em seguida, recupere a propriedade DevicePolicy para obter uma interface para as operações de coleta de dispositivo do cliente.Then, retrieve the DevicePolicy property to get an interface to customer device collection operations. Por fim, chame o método Update com o objeto DevicePolicyUpdateRequest para atualizar os dispositivos com a política.Finally, call the Update method with the DevicePolicyUpdateRequest object to update the devices with the policy.

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);

Exemplo: aplicativo de teste do console.Sample: Console test app. Projeto: classede exemplos do SDK do Partner Center: UpdateDevicesPolicy.csProject: Partner Center SDK Samples Class: UpdateDevicesPolicy.cs

Solicitação RESTREST request

Sintaxe da solicitaçãoRequest syntax

MétodoMethod URI da solicitaçãoRequest URI
DISTRIBUÍDOPATCH {baseURL}/v1/Customers/{Customer-ID}/DevicePolicyUpdates http/1.1{baseURL}/v1/customers/{customer-id}/DevicePolicyUpdates HTTP/1.1

Parâmetro do URIURI parameter

Use os seguintes parâmetros de caminho ao criar a solicitação.Use the following path parameters when creating the request.

NomeName TipoType ObrigatórioRequired DescriçãoDescription
id do clientecustomer-id stringstring SimYes Uma cadeia com formato de GUID que identifica o cliente.A GUID-formatted string that identifies the customer.

Cabeçalhos de solicitaçãoRequest headers

Para obter mais informações, confira Cabeçalhos REST do Partner Center.For more information, see Partner Center REST headers.

Corpo da solicitaçãoRequest body

O corpo da solicitação deve conter um recurso DevicePolicyUpdateRequest .The request body must contain a DevicePolicyUpdateRequest resource.

Exemplo de solicitaçãoRequest example

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: 49b1e7b2-82e7-4403-b63b-8765269b448d
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"
    }
}

Resposta RESTREST response

Se for bem-sucedida, a resposta conterá um cabeçalho de local que tem um URI que pode ser usado para recuperar o status desse processo em lote.If successful, the response contains a Location header that has a URI that can be used to retrieve the status of this batch process. Salve esse URI para uso com outras APIs REST relacionadas.Save this URI for use with other related REST APIs.

Códigos de êxito e de erro de respostaResponse success and error codes

Cada resposta vem com um código de status HTTP que indica êxito ou falha e informações de depuração adicionais.Each response comes with an HTTP status code that indicates success or failure and additional debugging information. Use uma ferramenta de rastreamento de rede para ler esse código, o tipo de erro e os parâmetros adicionais.Use a network trace tool to read this code, error type, and additional parameters. Para obter a lista completa, confira Códigos de erro REST do Partner Center.For the full list, see Partner Center REST error codes.

Exemplo de respostaResponse example

HTTP/1.1 202 Accepted
Content-Length: 0
Location: /customers/c7f3c849-129f-4b85-a96d-4f8e88b315a3/batchJobStatus/a15f3996-620a-4404-9f1f-4c2de78de0de
MS-CorrelationId: 49b1e7b2-82e7-4403-b63b-8765269b448d
MS-RequestId: 1b658428-5afa-46d4-af86-c9c6af5634e2
MS-CV: rCXyd8Z/lUSxUd0P.0
MS-ServerId: 020021921
Date: Thu, 28 Sep 2017 21:33:05 GMT