Teilen über


Aktualisieren einer Liste von Geräten mit einer Richtlinie

Gilt für: Partner Center

So aktualisieren Sie eine Liste von Geräten mit einer Konfigurationsrichtlinie für den angegebenen Kunden.

Voraussetzungen

  • Anmeldeinformationen, wie unter Partner Center-Authentifizierung beschrieben. Dieses Szenario unterstützt die Authentifizierung mit eigenständigen App- und App+Benutzeranmeldeinformationen.

  • Eine Kunden-ID (customer-tenant-id). Wenn Sie die KUNDEN-ID nicht kennen, können Sie sie im Partner Center nachschlagen, indem Sie den Arbeitsbereich "Kunden " und dann den Kunden aus der Kundenliste und dann "Konto" auswählen. Suchen Sie auf der Seite "Konto" des Kunden im Abschnitt "Kundenkontoinformationen" nach der Microsoft-ID. Die Microsoft-ID entspricht der Kunden-ID (customer-tenant-id).

  • Der Richtlinienbezeichner.

  • Die Geräte-IDs der zu aktualisierenden Geräte.

C#

Um eine Liste von Geräten mit der angegebenen Konfigurationsrichtlinie zu aktualisieren, instanziieren Sie zunächst ein [List/dotnet/api/system.collections.generic.list-1) vom Typ [KeyValuePair/dotnet/api/system.collections.generic.keyvaluepair-2)(PolicyCategory,string) und fügen sie die anzuwendende Richtlinie hinzu, wie im folgenden Codebeispiel gezeigt. Sie benötigen die Richtlinien-ID der Richtlinie.

Erstellen Sie dann eine Liste von Device-Objekten , die mit der Richtlinie aktualisiert werden sollen, und geben Sie die Geräte-ID und die Liste an, die die anzuwendende Richtlinie enthält, für jedes Gerät. Instanziieren Sie als Nächstes ein DevicePolicyUpdateRequest-Objekt, und legen Sie die Devices-Eigenschaft auf die Liste der Geräteobjekte fest.

Rufen Sie zum Verarbeiten der Geräterichtlinienaktualisierungsanforderung die IAggregatePartner.Customers.ById-Methode mit der Kunden-ID auf, um eine Schnittstelle zu Vorgängen für den angegebenen Kunden abzurufen. Rufen Sie dann die DevicePolicy-Eigenschaft ab, um eine Schnittstelle zu Kundengerätesammlungsvorgängen abzurufen. Rufen Sie schließlich die Update-Methode mit dem DevicePolicyUpdateRequest-Objekt auf, um die Geräte mit der Richtlinie zu aktualisieren.

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

Beispiel: Konsolentest-App. Projekt: Partner Center SDK Samples Class: UpdateDevicesPolicy.cs

REST-Anforderung

Anforderungssyntax

Methode Anforderungs-URI
PATCH {baseURL}/v1/customers/{customer-id}/DevicePolicyUpdates HTTP/1.1

URI-Parameter

Verwenden Sie beim Erstellen der Anforderung die folgenden Pfadparameter.

Name Type Erforderlich Beschreibung
Kunden-ID Zeichenfolge Ja Eine GUID-formatierte Zeichenfolge, die den Kunden identifiziert.

Anforderungsheader

Weitere Informationen finden Sie unter Partner Center-REST-Header.

Anforderungstext

Der Anforderungstext muss eine DevicePolicyUpdateRequest-Ressource enthalten.

Beispiel für eine Anfrage

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

Wichtig

Ab Juni 2023 ist jetzt die neueste Partner Center .NET SDK-Version 3.4.0 archiviert. Sie können das SDK-Release von GitHub zusammen mit einer Infodatei herunterladen, die nützliche Informationen enthält.

Partnern wird empfohlen, weiterhin die Partner Center-REST-APIs zu verwenden.

REST-Antwort

Wenn die Antwort erfolgreich verläuft, enthält die Antwort einen Location-Header mit einem URI, der zum Abrufen des Status dieses Batchvorgangs verwendet werden kann. Speichern Sie diesen URI für die Verwendung mit anderen verwandten REST-APIs.

Erfolgs- und Fehlercodes der Antwort

Jede Antwort enthält einen HTTP-Statuscode, der Aufschluss darüber gibt, ob der Vorgang erfolgreich war, sowie ggf. zusätzliche Debuginformationen. Verwende ein Tool für die Netzwerkablaufverfolgung, um diesen Code, den Fehlertyp und zusätzliche Parameter zu lesen. Die vollständige Liste finden Sie unter Partner Center-REST-Fehlercodes.

Beispielantwort

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