Use esta API para agregar un miembro (usuario, grupo o dispositivo) a una unidad administrativa. Actualmente solo es posible agregar un miembro a la vez a una unidad administrativa.
Se requiere uno de los siguientes permisos para llamar a esta API. Para obtener más información, incluido cómo elegir permisos, vea Permisos.
Permisos para agregar un usuario, grupo o dispositivo existente
Tipo de permiso
Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa)
AdministrativeUnit.ReadWrite.All
Delegado (cuenta personal de Microsoft)
No admitida.
Aplicación
AdministrativeUnit.ReadWrite.All
Importante
En escenarios delegados con cuentas profesionales o educativas, el usuario que ha iniciado sesión debe ser un usuario miembro o tener asignado un rol de Microsoft Entra compatible o un rol personalizado con un permiso de rol admitido.
Privileged Role Administrator es el rol con privilegios mínimos admitido para esta operación.
Permisos para crear un nuevo grupo
Tipo de permiso
Permisos (de menos a más privilegiados)
Delegado (cuenta profesional o educativa)
Group.ReadWrite.All y AdministrativeUnit.Read.All, Directory.ReadWrite.All
Delegado (cuenta personal de Microsoft)
No admitida.
Aplicación
Group.Create y AdministrativeUnit.Read.All, Group.ReadWrite.All y AdministrativeUnit.Read.All, Directory.ReadWrite.All
Importante
Para crear un nuevo grupo en una unidad administrativa, la entidad de seguridad que realiza la llamada debe tener asignado al menos uno de los siguientes roles de Microsoft Entra en el ámbito de la unidad administrativa:
Administrador de Grupos
Administrador de usuarios
Para escenarios de solo aplicación: aparte de estos roles, la entidad de servicio requiere permisos adicionales para leer el directorio. Estos permisos se pueden conceder mediante la asignación de roles de Microsoft Entra admitidos, como el rol Lectores de directorio; o bien se pueden conceder a través de permisos de aplicación de Microsoft Graph que permiten leer el directorio, como Directory.Read.All.
Solicitud HTTP
La siguiente solicitud agrega un usuario, grupo o dispositivo existente a la unidad administrativa.
POST /directory/administrativeUnits/{id}/members/$ref
La siguiente solicitud crea un nuevo grupo dentro de la unidad administrativa.
En la tabla siguiente se muestran las propiedades del recurso de grupo que se deben especificar al crear un grupo en la unidad administrativa.
Propiedad
Tipo
Descripción
displayName
string
El nombre para mostrar en la lista de direcciones del grupo. Obligatorio.
description
cadena
Una descripción para el grupo. Opcional.
isAssignableToRole
Booleano
Establézcalo en true para permitir que el grupo se asigne a un rol de Microsoft Entra. Privileged Role Administrator es el rol con privilegios mínimos para establecer el valor de esta propiedad. Opcional.
mailEnabled
Booleano
Establézcalo a true para grupos habilitados para correo electrónico. Obligatorio.
mailNickname
string
El alias de correo del grupo. Estos caracteres no se pueden usar en mailNickName: @()\[]";:.<>,SPACE. Necesario.
securityEnabled
Booleano
Establecer en true para grupos con seguridad habilitada, incluyendo los grupos de Microsoft 365. Necesario.
Esta propiedad representa los miembros del grupo a la hora de creación. Opcional.
visibility
Cadena
Especifica la visibilidad de un grupo de Microsoft 365. Los valores posibles son: Private, Public, HiddenMembership o vacío (que se interpreta como Public).
Respuesta
Si se ejecuta correctamente, agregar un objeto existente (mediante $ref) devuelve 204 No Content código de respuesta. No devuelve nada en el cuerpo de la respuesta.
Al crear un nuevo grupo (sin $ref), este método devuelve un 201 Created código de respuesta y un objeto de grupo en el cuerpo de la respuesta. La respuesta incluye solo las propiedades predeterminadas del grupo. Debe proporcionar la "@odata.type" : "#microsoft.graph.group" línea en el cuerpo de la solicitud para identificar explícitamente al nuevo miembro como un grupo. Un cuerpo de solicitud sin el correcto @odata.type devuelve un mensaje de 400 Bad Request error.
Ejemplos
Ejemplo 1: Agregar un usuario o grupo existente
La siguiente solicitud agrega un usuario o grupo existente a una unidad administrativa.
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)
En el cuerpo de la solicitud, proporcione el id del objeto de usuario o grupo que desea agregar.
Respuesta
En el ejemplo siguiente se muestra la respuesta.
HTTP/1.1 204 No Content
Ejemplo 2: Creación de un nuevo grupo
En el ejemplo siguiente se crea un nuevo grupo en la unidad administrativa. Debe proporcionar la "@odata.type" : "#microsoft.graph.group" línea en el cuerpo de la solicitud para identificar explícitamente al nuevo miembro como un grupo. Un cuerpo de solicitud sin el correcto @odata.type devuelve un mensaje de 400 Bad Request error.
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)