Используйте этот API для добавления участника (пользователя, группы или устройства) в административную единицу. В настоящее время в административную единицу можно добавить только одного участника одновременно.
Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.
Разрешения на добавление существующего пользователя, группы или устройства
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
AdministrativeUnit.ReadWrite.All
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Приложение
AdministrativeUnit.ReadWrite.All
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшего пользователя должен быть участником или ему должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли.
Администратор привилегированных ролей — это наименее привилегированная роль, поддерживаемая для этой операции.
Разрешения на создание новой группы
Тип разрешения
Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись)
Group.ReadWrite.All и AdministrativeUnit.Read.All, Directory.ReadWrite.All
Делегированные (личная учетная запись Майкрософт)
Не поддерживается.
Приложение
Group.Create и AdministrativeUnit.Read.All, Group.ReadWrite.All и AdministrativeUnit.Read.All, Directory.ReadWrite.All
Важно!
Чтобы создать новую группу в административной единице, вызывающему субъекту необходимо назначить по крайней мере одну из следующих Microsoft Entra ролей в область административной единицы:
Администратор Группы
Администратор пользователей
В сценариях только для приложений, помимо этих ролей, субъекту-службе требуются дополнительные разрешения на чтение каталога. Эти разрешения могут быть предоставлены путем назначения поддерживаемых Microsoft Entra ролей, таких как роль читателей каталогов; или с помощью разрешений приложения Microsoft Graph, которые позволяют читать каталог, например Directory.Read.All.
HTTP-запрос
Следующий запрос добавляет существующего пользователя, группу или устройство в административную единицу.
POST /directory/administrativeUnits/{id}/members/$ref
Следующий запрос создает новую группу в административной единице.
В следующей таблице показаны свойства ресурса группы , которые необходимо указать при создании группы в административной единице.
Свойство
Тип
Описание
displayName
string
Имя, которое следует отобразить в адресной книге для группы. Обязательный.
description
строка
Описание группы. Необязательно.
isAssignableToRole
Логическое
Задайте значение true, чтобы назначить группу Microsoft Entra роли. Администратор привилегированных ролей — это наименее привилегированная роль для задания значения этого свойства. Необязательно.
mailEnabled
Логический
Установите значение true для групп, поддерживающих почту. Обязательно.
mailNickname
string
Почтовый псевдоним для группы. Такие символы нельзя использовать в mailNickName: @()\[]";:.<>,SPACE. Обязательный.
securityEnabled
Логический
Значение true для групп безопасности, включая группы Microsoft 365. Обязательный.
Это свойство представляет участников группы на момент создания. Необязательно.
visibility
String
Определяет видимость группы Microsoft 365. Возможные значения: Private, Public, HiddenMembership или пустое значение (обрабатывается как Public).
Отклик
В случае успешного добавления существующего объекта (с помощью $ref) возвращается 204 No Content код ответа. Он не возвращает ничего в теле ответа.
При создании новой группы (без $ref) этот метод возвращает код отклика 201 Created и объект группы в теле отклика. Отклик включает в себя только свойства по умолчанию для группы. Необходимо указать "@odata.type" : "#microsoft.graph.group" строку в тексте запроса, чтобы явно определить нового участника в качестве группы. Текст запроса без правильного @odata.type возвращает сообщение об ошибке 400 Bad Request .
Примеры
Пример 1. Добавление существующего пользователя или группы
Следующий запрос добавляет существующего пользователя или группу в административную единицу.
POST https://graph.microsoft.com/v1.0/directory/administrativeUnits/{id}/members/$ref
Content-type: application/json
{
"@odata.id":"https://graph.microsoft.com/v1.0/groups/{id}"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new ReferenceCreate
{
OdataId = "https://graph.microsoft.com/v1.0/groups/{id}",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Directory.AdministrativeUnits["{administrativeUnit-id}"].Members.Ref.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewReferenceCreate()
odataId := "https://graph.microsoft.com/v1.0/groups/{id}"
requestBody.SetOdataId(&odataId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Directory().AdministrativeUnits().ByAdministrativeUnitId("administrativeUnit-id").Members().Ref().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
com.microsoft.graph.models.ReferenceCreate referenceCreate = new com.microsoft.graph.models.ReferenceCreate();
referenceCreate.setOdataId("https://graph.microsoft.com/v1.0/groups/{id}");
graphClient.directory().administrativeUnits().byAdministrativeUnitId("{administrativeUnit-id}").members().ref().post(referenceCreate);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\ReferenceCreate;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new ReferenceCreate();
$requestBody->setOdataId('https://graph.microsoft.com/v1.0/groups/{id}');
$graphServiceClient->directory()->administrativeUnits()->byAdministrativeUnitId('administrativeUnit-id')->members()->ref()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.reference_create import ReferenceCreate
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = ReferenceCreate(
odata_id = "https://graph.microsoft.com/v1.0/groups/{id}",
)
await graph_client.directory.administrative_units.by_administrative_unit_id('administrativeUnit-id').members.ref.post(request_body)
В тексте запроса укажите id объект пользователя или группы , который требуется добавить.
Отклик
Ниже показан пример отклика.
HTTP/1.1 204 No Content
Пример 2. Создание группы
В следующем примере создается новая группа в административной единице. Необходимо указать "@odata.type" : "#microsoft.graph.group" строку в тексте запроса, чтобы явно определить нового участника в качестве группы. Текст запроса без правильного @odata.type возвращает сообщение об ошибке 400 Bad Request .
POST https://graph.microsoft.com/v1.0/directory/administrativeUnits/{id}/members
Content-type: application/json
{
"@odata.type": "#microsoft.graph.group",
"description": "Self help community for golf",
"displayName": "Golf Assist",
"groupTypes": [
"Unified"
],
"mailEnabled": true,
"mailNickname": "golfassist",
"securityEnabled": false
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
OdataType = "#microsoft.graph.group",
Description = "Self help community for golf",
DisplayName = "Golf Assist",
GroupTypes = new List<string>
{
"Unified",
},
MailEnabled = true,
MailNickname = "golfassist",
SecurityEnabled = false,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Directory.AdministrativeUnits["{administrativeUnit-id}"].Members.PostAsync(requestBody);
// Code snippets are only available for the latest major version. Current major version is $v1.*
// Dependencies
import (
"context"
msgraphsdk "github.com/microsoftgraph/msgraph-sdk-go"
graphmodels "github.com/microsoftgraph/msgraph-sdk-go/models"
//other-imports
)
requestBody := graphmodels.NewDirectoryObject()
description := "Self help community for golf"
requestBody.SetDescription(&description)
displayName := "Golf Assist"
requestBody.SetDisplayName(&displayName)
groupTypes := []string {
"Unified",
}
requestBody.SetGroupTypes(groupTypes)
mailEnabled := true
requestBody.SetMailEnabled(&mailEnabled)
mailNickname := "golfassist"
requestBody.SetMailNickname(&mailNickname)
securityEnabled := false
requestBody.SetSecurityEnabled(&securityEnabled)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
members, err := graphClient.Directory().AdministrativeUnits().ByAdministrativeUnitId("administrativeUnit-id").Members().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group directoryObject = new Group();
directoryObject.setOdataType("#microsoft.graph.group");
directoryObject.setDescription("Self help community for golf");
directoryObject.setDisplayName("Golf Assist");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
directoryObject.setGroupTypes(groupTypes);
directoryObject.setMailEnabled(true);
directoryObject.setMailNickname("golfassist");
directoryObject.setSecurityEnabled(false);
DirectoryObject result = graphClient.directory().administrativeUnits().byAdministrativeUnitId("{administrativeUnit-id}").members().post(directoryObject);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Group;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Group();
$requestBody->setOdataType('#microsoft.graph.group');
$requestBody->setDescription('Self help community for golf');
$requestBody->setDisplayName('Golf Assist');
$requestBody->setGroupTypes(['Unified', ]);
$requestBody->setMailEnabled(true);
$requestBody->setMailNickname('golfassist');
$requestBody->setSecurityEnabled(false);
$result = $graphServiceClient->directory()->administrativeUnits()->byAdministrativeUnitId('administrativeUnit-id')->members()->post($requestBody)->wait();
# Code snippets are only available for the latest version. Current version is 1.x
from msgraph import GraphServiceClient
from msgraph.generated.models.group import Group
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = Group(
odata_type = "#microsoft.graph.group",
description = "Self help community for golf",
display_name = "Golf Assist",
group_types = [
"Unified",
],
mail_enabled = True,
mail_nickname = "golfassist",
security_enabled = False,
)
result = await graph_client.directory.administrative_units.by_administrative_unit_id('administrativeUnit-id').members.post(request_body)