Namespace: microsoft.graph
Importante
As APIs na versão /beta
no Microsoft Graph estão sujeitas a alterações. Não há suporte para o uso dessas APIs em aplicativos de produção. Para determinar se uma API está disponível na v1.0, use o seletor Versão.
Crie uma política de proteção para o serviço Exchange num inquilino do Microsoft 365. A política está definida como inactive
quando é criada. Os utilizadores também podem fornecer uma lista de unidades de proteção ao abrigo da política.
Esta API está disponível nas seguintes implementações de cloud nacionais.
Serviço global |
US Government L4 |
US Government L5 (DOD) |
China operada pela 21Vianet |
✅ |
❌ |
❌ |
❌ |
Permissões
Escolha a permissão ou permissões marcadas como menos privilegiadas para esta API. Utilize uma permissão ou permissões com privilégios mais elevados apenas se a sua aplicação o exigir. Para obter detalhes sobre as permissões delegadas e de aplicação, veja Tipos de permissão. Para saber mais sobre estas permissões, veja a referência de permissões.
Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
Delegado (conta corporativa ou de estudante) |
BackupRestore-Configuration.ReadWrite.All |
Indisponível. |
Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
Application |
BackupRestore-Configuration.ReadWrite.All |
Indisponível. |
Solicitação HTTP
POST /solutions/backupRestore/exchangeProtectionPolicies/
Corpo da solicitação
No corpo do pedido, inclua uma representação JSON do objeto exchangeProtectionPolicy Pode especificar as seguintes propriedades quando criar um objeto exchangeProtectionPolicy .
Propriedade |
Tipo |
Descrição |
displayName |
Cadeia de caracteres |
Nome da Política de Proteção do Exchange. |
mailboxProtectionUnits |
Collection(mailboxProtectionUnit) |
Coleção da caixa de correioProtectionUnits a adicionar ao exchangeProtectionPolicy. |
Resposta
Se for bem-sucedido, este método devolve um 201 Created
código de resposta e um objeto exchangeProtectionPolicy no corpo da resposta.
Para obter uma lista de possíveis respostas a erros, veja Respostas de erros da API de Armazenamento de Cópias de Segurança.
Exemplos
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/solutions/backupRestore/exchangeProtectionPolicies
{
"displayName": "Exchange Protection Policy",
"mailboxProtectionUnits": [
{
"directoryObjectId": "cdd3a849-dcaf-4a85-af82-7e39fc14019a"
},
{
"directoryObjectId": "9bc069da-b746-41a4-89ab-26125c6373c7"
},
{
"directoryObjectId": "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new ExchangeProtectionPolicy
{
DisplayName = "Exchange Protection Policy",
MailboxProtectionUnits = new List<MailboxProtectionUnit>
{
new MailboxProtectionUnit
{
DirectoryObjectId = "cdd3a849-dcaf-4a85-af82-7e39fc14019a",
},
new MailboxProtectionUnit
{
DirectoryObjectId = "9bc069da-b746-41a4-89ab-26125c6373c7",
},
new MailboxProtectionUnit
{
DirectoryObjectId = "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7",
},
},
};
// 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.PostAsync(requestBody);
mgc-beta solutions backup-restore exchange-protection-policies create
// Code snippets are only available for the latest major version. Current major version is $v0.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-beta-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-beta-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewExchangeProtectionPolicy()
displayName := "Exchange Protection Policy"
requestBody.SetDisplayName(&displayName)
mailboxProtectionUnit := graphmodels.NewMailboxProtectionUnit()
directoryObjectId := "cdd3a849-dcaf-4a85-af82-7e39fc14019a"
mailboxProtectionUnit.SetDirectoryObjectId(&directoryObjectId)
mailboxProtectionUnit1 := graphmodels.NewMailboxProtectionUnit()
directoryObjectId := "9bc069da-b746-41a4-89ab-26125c6373c7"
mailboxProtectionUnit1.SetDirectoryObjectId(&directoryObjectId)
mailboxProtectionUnit2 := graphmodels.NewMailboxProtectionUnit()
directoryObjectId := "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7"
mailboxProtectionUnit2.SetDirectoryObjectId(&directoryObjectId)
mailboxProtectionUnits := []graphmodels.MailboxProtectionUnitable {
mailboxProtectionUnit,
mailboxProtectionUnit1,
mailboxProtectionUnit2,
}
requestBody.SetMailboxProtectionUnits(mailboxProtectionUnits)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
exchangeProtectionPolicies, err := graphClient.Solutions().BackupRestore().ExchangeProtectionPolicies().Post(context.Background(), requestBody, nil)
// 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 Protection Policy");
LinkedList<MailboxProtectionUnit> mailboxProtectionUnits = new LinkedList<MailboxProtectionUnit>();
MailboxProtectionUnit mailboxProtectionUnit = new MailboxProtectionUnit();
mailboxProtectionUnit.setDirectoryObjectId("cdd3a849-dcaf-4a85-af82-7e39fc14019a");
mailboxProtectionUnits.add(mailboxProtectionUnit);
MailboxProtectionUnit mailboxProtectionUnit1 = new MailboxProtectionUnit();
mailboxProtectionUnit1.setDirectoryObjectId("9bc069da-b746-41a4-89ab-26125c6373c7");
mailboxProtectionUnits.add(mailboxProtectionUnit1);
MailboxProtectionUnit mailboxProtectionUnit2 = new MailboxProtectionUnit();
mailboxProtectionUnit2.setDirectoryObjectId("b218eb4a-ea72-42bd-8f0b-d0bbf794bec7");
mailboxProtectionUnits.add(mailboxProtectionUnit2);
exchangeProtectionPolicy.setMailboxProtectionUnits(mailboxProtectionUnits);
ExchangeProtectionPolicy result = graphClient.solutions().backupRestore().exchangeProtectionPolicies().post(exchangeProtectionPolicy);
const options = {
authProvider,
};
const client = Client.init(options);
const exchangeProtectionPolicy = {
displayName: 'Exchange Protection Policy',
mailboxProtectionUnits: [
{
directoryObjectId: 'cdd3a849-dcaf-4a85-af82-7e39fc14019a'
},
{
directoryObjectId: '9bc069da-b746-41a4-89ab-26125c6373c7'
},
{
directoryObjectId: 'b218eb4a-ea72-42bd-8f0b-d0bbf794bec7'
}
]
};
await client.api('/solutions/backupRestore/exchangeProtectionPolicies')
.version('beta')
.post(exchangeProtectionPolicy);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\ExchangeProtectionPolicy;
use Microsoft\Graph\Beta\Generated\Models\MailboxProtectionUnit;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ExchangeProtectionPolicy();
$requestBody->setDisplayName('Exchange Protection Policy');
$mailboxProtectionUnitsMailboxProtectionUnit1 = new MailboxProtectionUnit();
$mailboxProtectionUnitsMailboxProtectionUnit1->setDirectoryObjectId('cdd3a849-dcaf-4a85-af82-7e39fc14019a');
$mailboxProtectionUnitsArray []= $mailboxProtectionUnitsMailboxProtectionUnit1;
$mailboxProtectionUnitsMailboxProtectionUnit2 = new MailboxProtectionUnit();
$mailboxProtectionUnitsMailboxProtectionUnit2->setDirectoryObjectId('9bc069da-b746-41a4-89ab-26125c6373c7');
$mailboxProtectionUnitsArray []= $mailboxProtectionUnitsMailboxProtectionUnit2;
$mailboxProtectionUnitsMailboxProtectionUnit3 = new MailboxProtectionUnit();
$mailboxProtectionUnitsMailboxProtectionUnit3->setDirectoryObjectId('b218eb4a-ea72-42bd-8f0b-d0bbf794bec7');
$mailboxProtectionUnitsArray []= $mailboxProtectionUnitsMailboxProtectionUnit3;
$requestBody->setMailboxProtectionUnits($mailboxProtectionUnitsArray);
$result = $graphServiceClient->solutions()->backupRestore()->exchangeProtectionPolicies()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.BackupRestore
$params = @{
displayName = "Exchange Protection Policy"
mailboxProtectionUnits = @(
@{
directoryObjectId = "cdd3a849-dcaf-4a85-af82-7e39fc14019a"
}
@{
directoryObjectId = "9bc069da-b746-41a4-89ab-26125c6373c7"
}
@{
directoryObjectId = "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7"
}
)
}
New-MgBetaSolutionBackupRestoreExchangeProtectionPolicy -BodyParameter $params
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph_beta import GraphServiceClient
from msgraph_beta.generated.models.exchange_protection_policy import ExchangeProtectionPolicy
from msgraph_beta.generated.models.mailbox_protection_unit import MailboxProtectionUnit
# 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 Protection Policy",
mailbox_protection_units = [
MailboxProtectionUnit(
directory_object_id = "cdd3a849-dcaf-4a85-af82-7e39fc14019a",
),
MailboxProtectionUnit(
directory_object_id = "9bc069da-b746-41a4-89ab-26125c6373c7",
),
MailboxProtectionUnit(
directory_object_id = "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7",
),
],
)
result = await graph_client.solutions.backup_restore.exchange_protection_policies.post(request_body)
Resposta
O exemplo a seguir mostra a resposta.
Observação: o objeto de resposta mostrado aqui pode ser encurtado para legibilidade.
HTTP/1.1 201 Created
Content-Location: https://graph.microsoft.com/beta/solutions/backupRestore/ProtectionPolicies/b218eb4a-ea72-42bd-8f0b-d0bbf794bec7
{
"@odata.context": "/solutions/backupRestore/$metadata#exchangeProtectionPolicies/$entity",
"id": "b218eb4a-ea72-42bd-8f0b-d0bbf794bec7",
"displayName": "SharePoint Protection Policy",
"status": "inactive",
"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": "User2@constoso.com",
"id": "845457dc-4bb2-4815-bef3-8628ebd1952e",
"displayName": "User2"
}
},
"lastModifiedDateTime": "2015-06-19T12:01:03.45Z",
"retentionSettings": [
{
"interval": "R/PT10M",
"period": "P2W"
},
{
"interval": "R/P1W",
"period": "P1Y"
}
]
}