Espace de noms: microsoft.graph
Mettre à jour une stratégie de protection Exchange. Cette méthode ajoute une mailboxprotectionunit à ou la supprime de la stratégie de protection.
Cette API est disponible dans les déploiements de cloud national suivants.
| Service global |
Gouvernement des États-Unis L4 |
Us Government L5 (DOD) |
Chine gérée par 21Vianet |
| ✅ |
❌ |
❌ |
❌ |
Autorisations
Choisissez l’autorisation ou les autorisations marquées comme moins privilégiées pour cette API. Utilisez une autorisation ou des autorisations privilégiées plus élevées uniquement si votre application en a besoin. Pour plus d’informations sur les autorisations déléguées et d’application, consultez Types d’autorisations. Pour en savoir plus sur ces autorisations, consultez les informations de référence sur les autorisations.
| Type d’autorisation |
Autorisations avec privilèges minimum |
Autorisations privilégiées plus élevées |
| Déléguée (compte professionnel ou scolaire) |
BackupRestore-Configuration.ReadWrite.All |
Non disponible. |
| Déléguée (compte Microsoft personnel) |
Non prise en charge. |
Non prise en charge. |
| Application |
BackupRestore-Configuration.ReadWrite.All |
Non disponible. |
Requête HTTP
PATCH /solutions/backupRestore/exchangeProtectionPolicies/{exchangeProtectionPolicyId}
Corps de la demande
Dans le corps de la demande, fournissez une représentation JSON des propriétés suivantes pour mettre à jour l’objet exchangeProtectionPolicy .
| Propriété |
Type |
Description |
| displayName |
String |
Nom d’affichage de la exchangeProtectionPolicy. Facultatif. |
| mailboxProtectionUnits@delta |
Collection(mailboxProtectionUnit) |
Collection d’objets mailboxProtectionUnit à ajouter ou supprimer de la stratégie de protection Exchange. Obligatoire. |
Pour supprimer une boîte aux lettresProtectionUnit de la stratégie, spécifiez l’annotation @removed dans le corps de la demande pour l’unité de protection avec l’ID de la boîte aux lettresProtectionUnit.
Réponse
Si elle réussit, cette méthode renvoie un 200 OK code de réponse et un objet exchangeProtectionPolicy mis à jour dans le corps de la réponse.
Pour obtenir la liste des réponses d’erreur possibles, consultez Réponses d’erreur de l’API de stockage de sauvegarde.
Exemples
Demande
L’exemple suivant illustre une demande.
PATCH https://graph.microsoft.com/v1.0/solutions/backupRestore/exchangeProtectionPolicies/845457dc-4bb2-4815-bef3-8628ebd1952e
Authorization: Bearer <Access-Token>
{
"displayName": "Exchange Policy - Inadvertent data loss",
"mailboxProtectionUnits@delta": [
{
"directoryObjectId": "1b014d8c-71fe-4d00-a01a-31850bc5b32c"
},
{
"directoryObjectId": "2b014d8c-71fe-4d00-a01a-31850bc5b32c"
},
{
"@removed": {
"reason": "changed"
},
"id": "99954f18-c8ec-4b62-85bf-cdf3b70b140e"
},
{
"@removed": {
"reason": "changed"
},
"id": "4267e382-71a9-4c07-bef7-bda97e09c0d2"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
using Microsoft.Kiota.Abstractions.Serialization;
var requestBody = new ExchangeProtectionPolicy
{
DisplayName = "Exchange Policy - Inadvertent data loss",
AdditionalData = new Dictionary<string, object>
{
{
"mailboxProtectionUnits@delta" , new List<object>
{
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"directoryObjectId", new UntypedString("1b014d8c-71fe-4d00-a01a-31850bc5b32c")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"directoryObjectId", new UntypedString("2b014d8c-71fe-4d00-a01a-31850bc5b32c")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@removed", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"reason", new UntypedString("changed")
},
})
},
{
"id", new UntypedString("99954f18-c8ec-4b62-85bf-cdf3b70b140e")
},
}),
new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"@removed", new UntypedObject(new Dictionary<string, UntypedNode>
{
{
"reason", new UntypedString("changed")
},
})
},
{
"id", new UntypedString("4267e382-71a9-4c07-bef7-bda97e09c0d2")
},
}),
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Solutions.BackupRestore.ExchangeProtectionPolicies["{exchangeProtectionPolicy-id}"].PatchAsync(requestBody, (requestConfiguration) =>
{
requestConfiguration.Headers.Add("Authorization", "Bearer <Access-Token>");
});
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
ExchangeProtectionPolicy exchangeProtectionPolicy = new ExchangeProtectionPolicy();
exchangeProtectionPolicy.setDisplayName("Exchange Policy - Inadvertent data loss");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<Object> mailboxProtectionUnitsDelta = new LinkedList<Object>();
property = new ();
property.setDirectoryObjectId("1b014d8c-71fe-4d00-a01a-31850bc5b32c");
mailboxProtectionUnitsDelta.add(property);
property1 = new ();
property1.setDirectoryObjectId("2b014d8c-71fe-4d00-a01a-31850bc5b32c");
mailboxProtectionUnitsDelta.add(property1);
property2 = new ();
removed = new ();
removed.setReason("changed");
property2.setRemoved(removed);
property2.setId("99954f18-c8ec-4b62-85bf-cdf3b70b140e");
mailboxProtectionUnitsDelta.add(property2);
property3 = new ();
removed1 = new ();
removed1.setReason("changed");
property3.setRemoved(removed1);
property3.setId("4267e382-71a9-4c07-bef7-bda97e09c0d2");
mailboxProtectionUnitsDelta.add(property3);
additionalData.put("mailboxProtectionUnits@delta", mailboxProtectionUnitsDelta);
exchangeProtectionPolicy.setAdditionalData(additionalData);
ExchangeProtectionPolicy result = graphClient.solutions().backupRestore().exchangeProtectionPolicies().byExchangeProtectionPolicyId("{exchangeProtectionPolicy-id}").patch(exchangeProtectionPolicy, requestConfiguration -> {
requestConfiguration.headers.add("Authorization", "Bearer <Access-Token>");
});
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
const options = {
authProvider,
};
const client = Client.init(options);
const exchangeProtectionPolicy = {
displayName: 'Exchange Policy - Inadvertent data loss',
'mailboxProtectionUnits@delta': [
{
directoryObjectId: '1b014d8c-71fe-4d00-a01a-31850bc5b32c'
},
{
directoryObjectId: '2b014d8c-71fe-4d00-a01a-31850bc5b32c'
},
{
'@removed': {
reason: 'changed'
},
id: '99954f18-c8ec-4b62-85bf-cdf3b70b140e'
},
{
'@removed': {
reason: 'changed'
},
id: '4267e382-71a9-4c07-bef7-bda97e09c0d2'
}
]
};
await client.api('/solutions/backupRestore/exchangeProtectionPolicies/845457dc-4bb2-4815-bef3-8628ebd1952e')
.update(exchangeProtectionPolicy);
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Solutions\BackupRestore\ExchangeProtectionPolicies\Item\ExchangeProtectionPolicyItemRequestBuilderPatchRequestConfiguration;
use Microsoft\Graph\Generated\Models\ExchangeProtectionPolicy;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ExchangeProtectionPolicy();
$requestBody->setDisplayName('Exchange Policy - Inadvertent data loss');
$additionalData = [
'mailboxProtectionUnits@delta' => [
[
'directoryObjectId' => '1b014d8c-71fe-4d00-a01a-31850bc5b32c',
],
[
'directoryObjectId' => '2b014d8c-71fe-4d00-a01a-31850bc5b32c',
],
[
'@removed' => [
'reason' => 'changed',
],
'id' => '99954f18-c8ec-4b62-85bf-cdf3b70b140e',
],
[
'@removed' => [
'reason' => 'changed',
],
'id' => '4267e382-71a9-4c07-bef7-bda97e09c0d2',
],
],
];
$requestBody->setAdditionalData($additionalData);
$requestConfiguration = new ExchangeProtectionPolicyItemRequestBuilderPatchRequestConfiguration();
$headers = [
'Authorization' => 'Bearer <Access-Token>',
];
$requestConfiguration->headers = $headers;
$result = $graphServiceClient->solutions()->backupRestore()->exchangeProtectionPolicies()->byExchangeProtectionPolicyId('exchangeProtectionPolicy-id')->patch($requestBody, $requestConfiguration)->wait();
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Import-Module Microsoft.Graph.BackupRestore
$params = @{
displayName = "Exchange Policy - Inadvertent data loss"
"mailboxProtectionUnits@delta" = @(
@{
directoryObjectId = "1b014d8c-71fe-4d00-a01a-31850bc5b32c"
}
@{
directoryObjectId = "2b014d8c-71fe-4d00-a01a-31850bc5b32c"
}
@{
"@removed" = @{
reason = "changed"
}
id = "99954f18-c8ec-4b62-85bf-cdf3b70b140e"
}
@{
"@removed" = @{
reason = "changed"
}
id = "4267e382-71a9-4c07-bef7-bda97e09c0d2"
}
)
}
Update-MgSolutionBackupRestoreExchangeProtectionPolicy -ExchangeProtectionPolicyId $exchangeProtectionPolicyId -BodyParameter $params
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.solutions.backup_restore.exchange_protection_policies.item.exchange_protection_policy_item_request_builder import ExchangeProtectionPolicyItemRequestBuilder
from kiota_abstractions.base_request_configuration import RequestConfiguration
from msgraph.generated.models.exchange_protection_policy import ExchangeProtectionPolicy
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ExchangeProtectionPolicy(
display_name = "Exchange Policy - Inadvertent data loss",
additional_data = {
"mailbox_protection_units@delta" : [
{
"directory_object_id" : "1b014d8c-71fe-4d00-a01a-31850bc5b32c",
},
{
"directory_object_id" : "2b014d8c-71fe-4d00-a01a-31850bc5b32c",
},
{
"@removed" : {
"reason" : "changed",
},
"id" : "99954f18-c8ec-4b62-85bf-cdf3b70b140e",
},
{
"@removed" : {
"reason" : "changed",
},
"id" : "4267e382-71a9-4c07-bef7-bda97e09c0d2",
},
],
}
)
request_configuration = RequestConfiguration()
request_configuration.headers.add("Authorization", "Bearer <Access-Token>")
result = await graph_client.solutions.backup_restore.exchange_protection_policies.by_exchange_protection_policy_id('exchangeProtectionPolicy-id').patch(request_body, request_configuration = request_configuration)
Pour plus d’informations sur la façon d'ajouter le Kit de développement logiciel (SDK) à votre projet et créer une instance authProvider, consultez la documentation du Kit de développement logiciel (SDK).
Réponse
L’exemple suivant illustre la réponse.
Remarque : l’objet de réponse affiché ci-après peut être raccourci pour plus de lisibilité.
HTTP/1.1 200 OK
{
"displayName": "Exchange Policy - Inadvertent data loss",
"mailboxProtectionUnits@delta": [
{
"id": "89014d8c-71fe-4d00-a01a-31850bc5b32c",
"policyId": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"directoryObjectId": "1b014d8c-71fe-4d00-a01a-31850bc5b32c",
"status": "protectRequested",
"createdBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"createdDateTime": "2015-06-19T12:01:03.45Z",
"lastModifiedBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"lastModifiedDateTime": "2015-06-19T12:01:03.45Z"
},
{
"id": "67014d8c-71fe-4d00-a01a-31850bc5b32c",
"directoryObjectId": "2b014d8c-71fe-4d00-a01a-31850bc5b32c",
"policyId": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"status": "protectRequested",
"createdBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"createdDateTime": "2015-06-19T12:01:03.45Z",
"lastModifiedBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"lastModifiedDateTime": "2015-06-19T12:01:03.45Z"
},
{
"id": "99954f18-c8ec-4b62-85bf-cdf3b70b140e",
"directoryObjectId": "7b014d8c-71fe-4d00-a01a-31850bc5b32c",
"policyId": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"status": "removeRequested",
"createdBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"createdDateTime": "2015-06-19T12:01:03.45Z",
"lastModifiedBy": {
"application": {
"id": "1fec8e78-bce4-4aaf-ab1b-5451cc387264",
"displayName": "Microsoft Enhanced Restore"
},
"user": {
"email": "User1@contoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User1"
}
},
"lastModifiedDateTime": "2015-06-19T12:01:03.45Z"
},
{
//Error scenario
"@contentId": "3467e382-71a9-4c07-bef7-bda97e09c0d2", // To add context and more traceability.
"@Core.DataModificationException": {
"info": {
"code": "Invalid",
"message": "The identifier to be removed from the Protection Policy does not exist"
},
"failedOperation": "remove",
"responseCode": 409
},
"id": "4267e382-71a9-4c07-bef7-bda97e09c0d2"
}
]
}