Share via


Actualizar una lista de dispositivos con una directiva

Se aplica a: Centro de partners

Cómo actualizar una lista de dispositivos con una directiva de configuración para el cliente especificado.

Requisitos previos

  • Credenciales tal como se describen en el artículo Autenticación del Centro de partners. Este escenario admite la autenticación con credenciales de aplicación independiente y app+usuario.

  • Un id. de cliente (customer-tenant-id). Si no conoce el identificador del cliente, puede buscarlo en el Centro de partners seleccionando el área de trabajo Clientes , luego el cliente de la lista de clientes y, a continuación , Cuenta. En la página Cuenta del cliente, busque el identificador de Microsoft en la sección Información de la cuenta de cliente. El id. de Microsoft es el mismo que el de cliente (customer-tenant-id).

  • Identificador de directiva.

  • Identificadores de dispositivo de los dispositivos que se van a actualizar.

C#

Para actualizar una lista de dispositivos con la directiva de configuración especificada, en primer lugar, cree una instancia de [List/dotnet/api/system.collections.generic.list-1) de tipo [KeyValuePair/dotnet/api/system.collections.generic.keyvaluepair-2)(PolicyCategory,string) y agregue la directiva que se va a aplicar, como se muestra en el ejemplo de código siguiente. Necesitará el identificador de directiva de la directiva.

A continuación, cree una lista de objetos Device que se van a actualizar con la directiva, especificando el identificador de dispositivo y la lista que contiene la directiva que se va a aplicar para cada dispositivo. A continuación, cree una instancia de un objeto DevicePolicyUpdateRequest y establezca la propiedad Devices en la lista de objetos de dispositivo.

Para procesar la solicitud de actualización de directiva de dispositivo, llame al método IAggregatePartner.Customers.ById con el identificador de cliente para recuperar una interfaz a las operaciones del cliente especificado. A continuación, recupere la propiedad DevicePolicy para obtener una interfaz para las operaciones de recopilación de dispositivos del cliente. Por último, llame al método Update con el objeto DevicePolicyUpdateRequest para actualizar los dispositivos con la directiva.

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

Ejemplo: Aplicación de prueba de consola. Project: Clase de ejemplos del SDK del Centro de partners: UpdateDevicesPolicy.cs

Solicitud REST

Sintaxis de la solicitud

Método URI de solicitud
PATCH {baseURL}/v1/customers/{customer-id}/DevicePolicy Novedades HTTP/1.1

Parámetro de URI

Use los siguientes parámetros de ruta de acceso al crear la solicitud.

Nombre Type Obligatorio Descripción
customer-id string Cadena con formato de GUID que identifica al cliente.

Encabezados de solicitud

Para obtener más información, consulta Encabezados REST del Centro de partners.

Cuerpo de la solicitud

El cuerpo de la solicitud debe contener un recurso DevicePolicyUpdateRequest .

Ejemplo de solicitud

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"
    }
}

Importante

A partir de junio de 2023, la versión 3.4.0 más reciente del SDK de .NET del Centro de partners ahora está archivada. Puede descargar esta versión del SDK de GitHub, junto con un archivo Léame que contiene información útil.

Se recomienda a los partners seguir usando las API REST del Centro de partners.

Respuesta REST

Si se ejecuta correctamente, la respuesta contiene un encabezado Location que tiene un URI que se puede usar para recuperar el estado de este proceso por lotes. Guarde este URI para usarlo con otras API REST relacionadas.

Códigos de error y de respuesta correctos

Cada respuesta incluye un código de estado HTTP que indica si la operación se ha realizado correctamente o con errores y proporciona información de depuración adicional. Use una herramienta de seguimiento de red para leer este código, el tipo de error y los parámetros adicionales. Para obtener la lista completa, consulta Códigos de error de REST del Centro de partners.

Ejemplo de respuesta

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