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 nova definição de diretório com base nos modelos disponíveis no diretórioDefiniçõesTemplatas. Estas definições podem estar ao nível do inquilino ou ao nível do grupo.
As definições de grupo aplicam-se apenas a grupos do Microsoft 365. O modelo com o nome Group.Unified pode ser utilizado para configurar definições de grupo do Microsoft 365 ao nível do inquilino, enquanto o modelo com o nome Group.Unified.Guest pode ser utilizado para configurar definições específicas do grupo.
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.
Criar definições ao nível do inquilino
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All |
Importante
Em cenários delegados com contas escolares ou profissionais, o utilizador com sessão iniciada tem de ter uma função de Microsoft Entra suportada ou uma função personalizada com uma permissão de função suportada. As seguintes funções com menos privilégios são suportadas para esta operação.
- Leia as propriedades básicas sobre a definição de modelos e definições - Microsoft Entra Administrador Local do Dispositivo Associado, Leitores de Diretórios, Leitor Global
- Gerir todas as definições de grupo/diretório - Escritores de Diretórios
- Gerir definições globais e locais para grupos; gerir
Group.Unified.Guest e Group.Unified definições – Administrador de Grupos
- Atualização
Password Rule Settings – Administrador de Políticas de Autenticação
- Atualizar definições, Ler propriedades básicas na definição de modelos e definições – Administrador de Utilizadores
Criar definições específicas do grupo
| Tipo de permissão |
Permissões com menos privilégios |
Permissões com privilégios superiores |
| Delegado (conta corporativa ou de estudante) |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All |
| Delegado (conta pessoal da Microsoft) |
Sem suporte. |
Sem suporte. |
| Application |
GroupSettings.ReadWrite.All |
Directory.ReadWrite.All |
Solicitação HTTP
Crie uma definição ao nível do inquilino.
POST /settings
Crie uma definição específica do grupo.
POST /groups/{id}/settings
Corpo da solicitação
No corpo do pedido, forneça uma representação JSON do objeto directorySetting .
Resposta
Se for bem-sucedido, este método devolve 201 Created o código de resposta e o objeto directorySetting no corpo da resposta.
Exemplos
Exemplo 1: criar uma definição para bloquear convidados para um grupo específico do Microsoft 365
Solicitação
O exemplo a seguir mostra uma solicitação.
POST https://graph.microsoft.com/beta/groups/05aa6a98-956a-45c0-b13b-88076a23f2cd/settings
Content-type: application/json
{
"templateId": "08d542b9-071f-4e16-94b0-74abb372e3d9",
"values": [
{
"name": "AllowToAddGuests",
"value": "false"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DirectorySetting
{
TemplateId = "08d542b9-071f-4e16-94b0-74abb372e3d9",
Values = new List<SettingValue>
{
new SettingValue
{
Name = "AllowToAddGuests",
Value = "false",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups["{group-id}"].Settings.PostAsync(requestBody);
// 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.NewDirectorySetting()
templateId := "08d542b9-071f-4e16-94b0-74abb372e3d9"
requestBody.SetTemplateId(&templateId)
settingValue := graphmodels.NewSettingValue()
name := "AllowToAddGuests"
settingValue.SetName(&name)
value := "false"
settingValue.SetValue(&value)
values := []graphmodels.SettingValueable {
settingValue,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
settings, err := graphClient.Groups().ByGroupId("group-id").Settings().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectorySetting directorySetting = new DirectorySetting();
directorySetting.setTemplateId("08d542b9-071f-4e16-94b0-74abb372e3d9");
LinkedList<SettingValue> values = new LinkedList<SettingValue>();
SettingValue settingValue = new SettingValue();
settingValue.setName("AllowToAddGuests");
settingValue.setValue("false");
values.add(settingValue);
directorySetting.setValues(values);
DirectorySetting result = graphClient.groups().byGroupId("{group-id}").settings().post(directorySetting);
const options = {
authProvider,
};
const client = Client.init(options);
const directorySetting = {
templateId: '08d542b9-071f-4e16-94b0-74abb372e3d9',
values: [
{
name: 'AllowToAddGuests',
value: 'false'
}
]
};
await client.api('/groups/05aa6a98-956a-45c0-b13b-88076a23f2cd/settings')
.version('beta')
.post(directorySetting);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DirectorySetting;
use Microsoft\Graph\Beta\Generated\Models\SettingValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DirectorySetting();
$requestBody->setTemplateId('08d542b9-071f-4e16-94b0-74abb372e3d9');
$valuesSettingValue1 = new SettingValue();
$valuesSettingValue1->setName('AllowToAddGuests');
$valuesSettingValue1->setValue('false');
$valuesArray []= $valuesSettingValue1;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->groups()->byGroupId('group-id')->settings()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Groups
$params = @{
templateId = "08d542b9-071f-4e16-94b0-74abb372e3d9"
values = @(
@{
name = "AllowToAddGuests"
value = "false"
}
)
}
New-MgBetaGroupSetting -GroupId $groupId -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.directory_setting import DirectorySetting
from msgraph_beta.generated.models.setting_value import SettingValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DirectorySetting(
template_id = "08d542b9-071f-4e16-94b0-74abb372e3d9",
values = [
SettingValue(
name = "AllowToAddGuests",
value = "false",
),
],
)
result = await graph_client.groups.by_group_id('group-id').settings.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-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#settings/$entity",
"id": "a06fa228-3042-4662-bd09-33e298da1afe",
"displayName": null,
"templateId": "08d542b9-071f-4e16-94b0-74abb372e3d9",
"values": [
{
"name": "AllowToAddGuests",
"value": "false"
}
]
}
Exemplo 2: Criar um diretório ou definição ao nível do inquilino
Solicitação
POST https://graph.microsoft.com/beta/settings
Content-type: application/json
{
"templateId": "62375ab9-6b52-47ed-826b-58e47e0e304b",
"values": [
{
"name": "GuestUsageGuidelinesUrl",
"value": "https://privacy.contoso.com/privacystatement"
},
{
"name": "EnableMSStandardBlockedWords",
"value": "true"
},
{
"name": "EnableMIPLabels",
"value": "true"
},
{
"name": "PrefixSuffixNamingRequirement",
"value": "[Contoso-][GroupName]"
}
]
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new DirectorySetting
{
TemplateId = "62375ab9-6b52-47ed-826b-58e47e0e304b",
Values = new List<SettingValue>
{
new SettingValue
{
Name = "GuestUsageGuidelinesUrl",
Value = "https://privacy.contoso.com/privacystatement",
},
new SettingValue
{
Name = "EnableMSStandardBlockedWords",
Value = "true",
},
new SettingValue
{
Name = "EnableMIPLabels",
Value = "true",
},
new SettingValue
{
Name = "PrefixSuffixNamingRequirement",
Value = "[Contoso-][GroupName]",
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Settings.PostAsync(requestBody);
// 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.NewDirectorySetting()
templateId := "62375ab9-6b52-47ed-826b-58e47e0e304b"
requestBody.SetTemplateId(&templateId)
settingValue := graphmodels.NewSettingValue()
name := "GuestUsageGuidelinesUrl"
settingValue.SetName(&name)
value := "https://privacy.contoso.com/privacystatement"
settingValue.SetValue(&value)
settingValue1 := graphmodels.NewSettingValue()
name := "EnableMSStandardBlockedWords"
settingValue1.SetName(&name)
value := "true"
settingValue1.SetValue(&value)
settingValue2 := graphmodels.NewSettingValue()
name := "EnableMIPLabels"
settingValue2.SetName(&name)
value := "true"
settingValue2.SetValue(&value)
settingValue3 := graphmodels.NewSettingValue()
name := "PrefixSuffixNamingRequirement"
settingValue3.SetName(&name)
value := "[Contoso-][GroupName]"
settingValue3.SetValue(&value)
values := []graphmodels.SettingValueable {
settingValue,
settingValue1,
settingValue2,
settingValue3,
}
requestBody.SetValues(values)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
settings, err := graphClient.Settings().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
DirectorySetting directorySetting = new DirectorySetting();
directorySetting.setTemplateId("62375ab9-6b52-47ed-826b-58e47e0e304b");
LinkedList<SettingValue> values = new LinkedList<SettingValue>();
SettingValue settingValue = new SettingValue();
settingValue.setName("GuestUsageGuidelinesUrl");
settingValue.setValue("https://privacy.contoso.com/privacystatement");
values.add(settingValue);
SettingValue settingValue1 = new SettingValue();
settingValue1.setName("EnableMSStandardBlockedWords");
settingValue1.setValue("true");
values.add(settingValue1);
SettingValue settingValue2 = new SettingValue();
settingValue2.setName("EnableMIPLabels");
settingValue2.setValue("true");
values.add(settingValue2);
SettingValue settingValue3 = new SettingValue();
settingValue3.setName("PrefixSuffixNamingRequirement");
settingValue3.setValue("[Contoso-][GroupName]");
values.add(settingValue3);
directorySetting.setValues(values);
DirectorySetting result = graphClient.settings().post(directorySetting);
const options = {
authProvider,
};
const client = Client.init(options);
const directorySetting = {
templateId: '62375ab9-6b52-47ed-826b-58e47e0e304b',
values: [
{
name: 'GuestUsageGuidelinesUrl',
value: 'https://privacy.contoso.com/privacystatement'
},
{
name: 'EnableMSStandardBlockedWords',
value: 'true'
},
{
name: 'EnableMIPLabels',
value: 'true'
},
{
name: 'PrefixSuffixNamingRequirement',
value: '[Contoso-][GroupName]'
}
]
};
await client.api('/settings')
.version('beta')
.post(directorySetting);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\DirectorySetting;
use Microsoft\Graph\Beta\Generated\Models\SettingValue;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new DirectorySetting();
$requestBody->setTemplateId('62375ab9-6b52-47ed-826b-58e47e0e304b');
$valuesSettingValue1 = new SettingValue();
$valuesSettingValue1->setName('GuestUsageGuidelinesUrl');
$valuesSettingValue1->setValue('https://privacy.contoso.com/privacystatement');
$valuesArray []= $valuesSettingValue1;
$valuesSettingValue2 = new SettingValue();
$valuesSettingValue2->setName('EnableMSStandardBlockedWords');
$valuesSettingValue2->setValue('true');
$valuesArray []= $valuesSettingValue2;
$valuesSettingValue3 = new SettingValue();
$valuesSettingValue3->setName('EnableMIPLabels');
$valuesSettingValue3->setValue('true');
$valuesArray []= $valuesSettingValue3;
$valuesSettingValue4 = new SettingValue();
$valuesSettingValue4->setName('PrefixSuffixNamingRequirement');
$valuesSettingValue4->setValue('[Contoso-][GroupName]');
$valuesArray []= $valuesSettingValue4;
$requestBody->setValues($valuesArray);
$result = $graphServiceClient->settings()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
templateId = "62375ab9-6b52-47ed-826b-58e47e0e304b"
values = @(
@{
name = "GuestUsageGuidelinesUrl"
value = "https://privacy.contoso.com/privacystatement"
}
@{
name = "EnableMSStandardBlockedWords"
value = "true"
}
@{
name = "EnableMIPLabels"
value = "true"
}
@{
name = "PrefixSuffixNamingRequirement"
value = "[Contoso-][GroupName]"
}
)
}
New-MgBetaDirectorySetting -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.directory_setting import DirectorySetting
from msgraph_beta.generated.models.setting_value import SettingValue
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = DirectorySetting(
template_id = "62375ab9-6b52-47ed-826b-58e47e0e304b",
values = [
SettingValue(
name = "GuestUsageGuidelinesUrl",
value = "https://privacy.contoso.com/privacystatement",
),
SettingValue(
name = "EnableMSStandardBlockedWords",
value = "true",
),
SettingValue(
name = "EnableMIPLabels",
value = "true",
),
SettingValue(
name = "PrefixSuffixNamingRequirement",
value = "[Contoso-][GroupName]",
),
],
)
result = await graph_client.settings.post(request_body)
Resposta
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#settings/$entity",
"id": "844d252c-4de2-43eb-a784-96df77231aae",
"displayName": null,
"templateId": "62375ab9-6b52-47ed-826b-58e47e0e304b",
"values": [
{
"name": "GuestUsageGuidelinesUrl",
"value": "https://privacy.contoso.com/privacystatement"
},
{
"name": "EnableMSStandardBlockedWords",
"value": "true"
},
{
"name": "EnableMIPLabels",
"value": "true"
},
{
"name": "PrefixSuffixNamingRequirement",
"value": "[Contoso-][GroupName]"
}
]
}