Пространство имен: microsoft.graph
Важно!
API версии /beta
в Microsoft Graph могут быть изменены. Использование этих API в производственных приложениях не поддерживается. Чтобы определить, доступен ли API в версии 1.0, используйте селектор версий.
Создайте новый административныйUnit.
Этот API доступен в следующих национальных облачных развертываниях.
Глобальная служба |
Правительство США L4 |
Правительство США L5 (DOD) |
Китай управляется 21Vianet |
✅ |
✅ |
✅ |
✅ |
Разрешения
Выберите разрешение или разрешения, помеченные как наименее привилегированные для этого API. Используйте более привилегированное разрешение или разрешения только в том случае, если это требуется приложению. Дополнительные сведения о делегированных разрешениях и разрешениях приложений см. в разделе Типы разрешений. Дополнительные сведения об этих разрешениях см. в справочнике по разрешениям.
Тип разрешения |
Разрешения с наименьшими привилегиями |
Более высокие привилегированные разрешения |
Делегированные (рабочая или учебная учетная запись) |
AdministrativeUnit.ReadWrite.All |
Недоступно. |
Делегированные (личная учетная запись Майкрософт) |
Не поддерживается. |
Не поддерживается. |
Приложение |
AdministrativeUnit.ReadWrite.All |
Недоступно. |
Важно!
В делегированных сценариях с рабочими или учебными учетными записями вошедшего пользователя должен быть участником или ему должна быть назначена поддерживаемая роль Microsoft Entra или настраиваемая роль с разрешением поддерживаемой роли.
Администратор привилегированных ролей — это наименее привилегированная роль, поддерживаемая для этой операции.
HTTP-запрос
POST /administrativeUnits
POST /directory/administrativeUnits
Текст запроса
В тексте запроса укажите представление объекта administrativeUnit в формате JSON.
При создании объекта administrativeUnit можно указать следующие свойства.
Свойство |
Тип |
Описание |
description |
String |
Описание административной единицы. Необязательный параметр. |
displayName |
String |
Отображаемое имя административной единицы. Обязательно. |
isMemberManagementRestricted |
Логический |
true Значение , если члены этой административной единицы должны рассматриваться как конфиденциальные, что требует определенных разрешений для управления. Значение по умолчанию — false . Используйте это свойство, чтобы определить административные единицы, роли которых не наследуются от администраторов уровня клиента, а управление отдельными объектами-членами ограничено администраторами. Неизменяемый, поэтому не может быть изменен позже. Необязательный параметр. |
membershipRule |
String |
Правило динамического членства для административной единицы. Дополнительные сведения о правилах, которые можно использовать для динамических административных единиц и динамических групп, см. в статье Управление правилами для динамических групп членства в Microsoft Entra ID. Необязательный параметр. |
membershipRuleProcessingState |
String |
Определяет, активно ли обрабатывается правило динамического членства. Задайте значение , On чтобы активировать правило динамического членства или Paused остановить динамическое обновление членства. Необязательный параметр. |
membershipType |
String |
Указывает тип членства для административной единицы. Возможные значения: dynamic , assigned . Если не задано, значение по умолчанию — null и назначается поведение по умолчанию. Необязательно. |
visibility |
String |
Видимость административной единицы. Если значение не задано, значение по умолчанию — и null поведение по умолчанию является общедоступным. Ему можно присвоить значение , HiddenMembership чтобы скрыть членство от пользователей, не являющихся членами. Необязательный параметр. |
Ресурс administrativeUnit поддерживает расширения, что позволяет использовать POST
операцию для добавления пользовательских свойств с собственными данными при создании административной единицы.
Отклик
В случае успешного выполнения этот метод возвращает код отклика 201 Created
и объект administrativeUnit в тексте ответа.
Примеры
Пример 1. Создание административной единицы
В следующем примере создается административная единица с правилом динамического членства, включаемая всех пользователей, страна которых США.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/administrativeUnits
Content-type: application/json
{
"displayName": "Seattle District Technical Schools",
"description": "Seattle district technical schools administration",
"membershipType": "Dynamic",
"membershipRule": "(user.country -eq \"United States\")",
"membershipRuleProcessingState": "On"
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new AdministrativeUnit
{
DisplayName = "Seattle District Technical Schools",
Description = "Seattle district technical schools administration",
MembershipType = "Dynamic",
MembershipRule = "(user.country -eq \"United States\")",
MembershipRuleProcessingState = "On",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.AdministrativeUnits.PostAsync(requestBody);
mgc-beta administrative-units create --body '{\
"displayName": "Seattle District Technical Schools",\
"description": "Seattle district technical schools administration",\
"membershipType": "Dynamic",\
"membershipRule": "(user.country -eq \"United States\")",\
"membershipRuleProcessingState": "On"\
}\
'
// 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.NewAdministrativeUnit()
displayName := "Seattle District Technical Schools"
requestBody.SetDisplayName(&displayName)
description := "Seattle district technical schools administration"
requestBody.SetDescription(&description)
membershipType := "Dynamic"
requestBody.SetMembershipType(&membershipType)
membershipRule := "(user.country -eq \"United States\")"
requestBody.SetMembershipRule(&membershipRule)
membershipRuleProcessingState := "On"
requestBody.SetMembershipRuleProcessingState(&membershipRuleProcessingState)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
administrativeUnits, err := graphClient.AdministrativeUnits().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AdministrativeUnit administrativeUnit = new AdministrativeUnit();
administrativeUnit.setDisplayName("Seattle District Technical Schools");
administrativeUnit.setDescription("Seattle district technical schools administration");
administrativeUnit.setMembershipType("Dynamic");
administrativeUnit.setMembershipRule("(user.country -eq \"United States\")");
administrativeUnit.setMembershipRuleProcessingState("On");
AdministrativeUnit result = graphClient.administrativeUnits().post(administrativeUnit);
const options = {
authProvider,
};
const client = Client.init(options);
const administrativeUnit = {
displayName: 'Seattle District Technical Schools',
description: 'Seattle district technical schools administration',
membershipType: 'Dynamic',
membershipRule: '(user.country -eq \"United States\")',
membershipRuleProcessingState: 'On'
};
await client.api('/administrativeUnits')
.version('beta')
.post(administrativeUnit);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\AdministrativeUnit;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AdministrativeUnit();
$requestBody->setDisplayName('Seattle District Technical Schools');
$requestBody->setDescription('Seattle district technical schools administration');
$requestBody->setMembershipType('Dynamic');
$requestBody->setMembershipRule('(user.country -eq \"United States\")');
$requestBody->setMembershipRuleProcessingState('On');
$result = $graphServiceClient->administrativeUnits()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
displayName = "Seattle District Technical Schools"
description = "Seattle district technical schools administration"
membershipType = "Dynamic"
membershipRule = "(user.country -eq "United States")"
membershipRuleProcessingState = "On"
}
New-MgBetaAdministrativeUnit -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.administrative_unit import AdministrativeUnit
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AdministrativeUnit(
display_name = "Seattle District Technical Schools",
description = "Seattle district technical schools administration",
membership_type = "Dynamic",
membership_rule = "(user.country -eq \"United States\")",
membership_rule_processing_state = "On",
)
result = await graph_client.administrative_units.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#administrativeUnits/$entity",
"id": "49eb93f2-a5a2-4567-ad66-76a3ebd01d84",
"deletedDateTime": null,
"displayName": "Seattle District Technical Schools",
"description": "Seattle district technical schools administration",
"membershipRule": "(user.country -eq \"United States\")",
"membershipType": "Dynamic",
"membershipRuleProcessingState": "On"
}
Пример 2. Создание административной единицы управления с ограниченным доступом
В следующем примере создается административная единица управления с ограниченным доступом. Свойство isMemberManagementRestricted
неизменяемо, поэтому его нельзя изменить позже.
Запрос
Ниже показан пример запроса.
POST https://graph.microsoft.com/beta/administrativeUnits
Content-type: application/json
{
"displayName": "Executive Division",
"description": "Executive division administration",
"isMemberManagementRestricted": true
}
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Beta.Models;
var requestBody = new AdministrativeUnit
{
DisplayName = "Executive Division",
Description = "Executive division administration",
IsMemberManagementRestricted = true,
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.AdministrativeUnits.PostAsync(requestBody);
mgc-beta administrative-units create --body '{\
"displayName": "Executive Division",\
"description": "Executive division administration",\
"isMemberManagementRestricted": true\
}\
'
// 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.NewAdministrativeUnit()
displayName := "Executive Division"
requestBody.SetDisplayName(&displayName)
description := "Executive division administration"
requestBody.SetDescription(&description)
isMemberManagementRestricted := true
requestBody.SetIsMemberManagementRestricted(&isMemberManagementRestricted)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
administrativeUnits, err := graphClient.AdministrativeUnits().Post(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
AdministrativeUnit administrativeUnit = new AdministrativeUnit();
administrativeUnit.setDisplayName("Executive Division");
administrativeUnit.setDescription("Executive division administration");
administrativeUnit.setIsMemberManagementRestricted(true);
AdministrativeUnit result = graphClient.administrativeUnits().post(administrativeUnit);
const options = {
authProvider,
};
const client = Client.init(options);
const administrativeUnit = {
displayName: 'Executive Division',
description: 'Executive division administration',
isMemberManagementRestricted: true
};
await client.api('/administrativeUnits')
.version('beta')
.post(administrativeUnit);
<?php
use Microsoft\Graph\Beta\GraphServiceClient;
use Microsoft\Graph\Beta\Generated\Models\AdministrativeUnit;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new AdministrativeUnit();
$requestBody->setDisplayName('Executive Division');
$requestBody->setDescription('Executive division administration');
$requestBody->setIsMemberManagementRestricted(true);
$result = $graphServiceClient->administrativeUnits()->post($requestBody)->wait();
Import-Module Microsoft.Graph.Beta.Identity.DirectoryManagement
$params = @{
displayName = "Executive Division"
description = "Executive division administration"
isMemberManagementRestricted = $true
}
New-MgBetaAdministrativeUnit -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.administrative_unit import AdministrativeUnit
# To initialize your graph_client, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=python
request_body = AdministrativeUnit(
display_name = "Executive Division",
description = "Executive division administration",
is_member_management_restricted = True,
)
result = await graph_client.administrative_units.post(request_body)
Отклик
Ниже показан пример отклика.
Примечание. Объект отклика, показанный здесь, может быть сокращен для удобочитаемости.
HTTP/1.1 201 Created
Content-type: application/json
{
"@odata.context": "https://graph.microsoft.com/beta/$metadata#administrativeUnits/$entity",
"id": "2sd35b05-ae71-48ab-9e7d-4r41a28te37d",
"deletedDateTime": null,
"displayName": "Executive Division",
"description": "Executive division administration",
"isMemberManagementRestricted": true
}
Связанные материалы