Fügen Sie ein Mitglied zu einer Sicherheits- oder Microsoft 365-Gruppe hinzu. Wenn Sie die API verwenden, um mehrere Mitglieder in einer Anforderung hinzuzufügen, können Sie nur bis zu 20 Mitglieder hinzufügen.
Die folgende Tabelle zeigt die Typen von Mitgliedern, die entweder Sicherheitsgruppen oder Microsoft 365-Gruppen hinzugefügt werden können.
In der folgenden Tabelle sind die Berechtigungen mit den geringsten Berechtigungen aufgeführt, die für jeden Ressourcentyp erforderlich sind, wenn diese API aufgerufen wird. Weitere Informationen, unter anderem zur Auswahl von Berechtigungen, finden Sie unter Berechtigungen.
In delegierten Szenarien muss dem angemeldeten Benutzer auch eine unterstützte Microsoft Entra Rolle oder eine benutzerdefinierte Rolle mit der microsoft.directory/groups/members/update Rollenberechtigung zugewiesen werden. Die folgenden Rollen sind die Am wenigsten privilegierten Rollen, die für diesen Vorgang unterstützt werden, mit Ausnahme von Gruppen, denen Rollen zugewiesen werden können:
Gruppenbesitzer
Verzeichnisautoren
Gruppen Administrator
Identity Governance-Administrator
Benutzeradministrator
Exchange-Administrator – nur für Microsoft 365-Gruppen
SharePoint-Administrator – nur für Microsoft 365-Gruppen
Teams-Administrator – nur für Microsoft 365-Gruppen
Yammer Administrator – nur für Microsoft 365-Gruppen
Intune Administrator – nur für Sicherheitsgruppen
Zum Hinzufügen von Mitgliedern zu einer Gruppe mit Rollenzuweisung muss der App außerdem die Berechtigung RoleManagement.ReadWrite.Directory zugewiesen werden, und dem aufrufenden Benutzer muss eine unterstützte Microsoft Entra Rolle zugewiesen werden.
Administrator für privilegierte Rollen ist die Rolle mit den geringsten Berechtigungen, die für diesen Vorgang unterstützt wird.
HTTP-Anforderung
POST /groups/{group-id}/members/$ref
PATCH /groups/{group-id}/members
Wenn Sie die POST /groups/{group-id}/members/$ref Syntax verwenden, geben Sie ein JSON-Objekt an, das eine @odata.id-Eigenschaft mit einem Verweis nach ID auf einen unterstützten Gruppenmitgliedsobjekttyp enthält.
Wenn Sie die PATCH /groups/{group-id}/members Syntax verwenden, geben Sie ein JSON-Objekt an, das eine members@odata.bind Eigenschaft mit mindestens einem Verweis durch IDs auf einen unterstützten Gruppenmitgliedsobjekttyp enthält. Das heißt:
Für Microsoft 365-Gruppen ist nur https://graph.microsoft.com/v1.0/directoryObjects/{id} und https://graph.microsoft.com/v1.0/groups/{id} zulässig, wobei {id} ein Benutzer sein muss, da nur Benutzer Mitglieder von Microsoft 365-Gruppen sein können.
Für Sicherheitsgruppen sind die folgenden ID-Verweise zulässig:
https://graph.microsoft.com/v1.0/directoryObjects/{id} wobei {id} zu einem Benutzer, einer Sicherheitsgruppe, einem Gerät, einem Dienstprinzipal oder einem Organisationskontakt gehören muss.
https://graph.microsoft.com/v1.0/groups/{id} wobei {id} zu einer anderen Sicherheitsgruppe gehören muss. Microsoft 365 Gruppen dürfen keine Mitglieder von Sicherheitsgruppen sein.
https://graph.microsoft.com/v1.0/devices/{id} wobei {id} zu einem Gerät gehört.
https://graph.microsoft.com/v1.0/servicePrincipal/{id} wobei {id} zu einem Dienstprinzipal gehört.
https://graph.microsoft.com/v1.0/orgContact/{id} wobei {id} zu einem Organisationskontakt gehört.
Antwort
Wenn die Methode erfolgreich verläuft, wird der Antwortcode 204 No Content zurückgegeben. Es gibt einen 400 Bad Request Antwortcode zurück, wenn das Objekt bereits Mitglied der Gruppe ist oder nicht als Gruppenmitglied unterstützt wird. Er gibt einen 404 Not Found Antwortcode zurück, wenn das hinzugefügte Objekt nicht vorhanden ist. Es wird in einem der folgenden Szenarien zurückgegeben 403 Unauthorized :
Sie versuchen, ein Mitglied hinzuzufügen, das Sie nicht hinzufügen können. Informationen zu den Berechtigungen, die zum Hinzufügen verschiedener Membertypen erforderlich sind, finden Sie im vorherigen Abschnitt Berechtigungen .
Sie versuchen, ein Mitglied zu einer Gruppe hinzuzufügen, der Rollen zugewiesen werden können, und sie verfügen nicht über die erforderlichen Berechtigungen.
Beispiele
Beispiel 1: Hinzufügen eines Mitglieds zu einer Gruppe
Anforderung
Das folgende Beispiel zeigt eine Anforderung, die den directoryObjects-Verweis verwendet, um einer Gruppe ein Mitglied hinzuzufügen.
POST https://graph.microsoft.com/v1.0/groups/{group-id}/members/$ref
Content-type: application/json
{
"@odata.id": "https://graph.microsoft.com/v1.0/directoryObjects/{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/directoryObjects/{id}",
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
await graphClient.Groups["{group-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/directoryObjects/{id}"
requestBody.SetOdataId(&odataId)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
graphClient.Groups().ByGroupId("group-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/directoryObjects/{id}");
graphClient.groups().byGroupId("{group-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/directoryObjects/{id}');
$graphServiceClient->groups()->byGroupId('group-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/directoryObjects/{id}",
)
await graph_client.groups.by_group_id('group-id').members.ref.post(request_body)
Beispiel 2: Hinzufügen von mehreren Mitgliedern zu einer Gruppe im Rahmen einer einzigen Anforderung
In diesem Beispiel wird gezeigt, wie Sie einer Gruppe mit OData-Bindungsunterstützung mehrere Mitglieder hinzufügen. In einer einzelnen Anforderung können bis zu 20 Mitglieder hinzugefügt werden. Wenn eine Fehlerbedingung im Hauptteil der Anforderung vorliegt, werden keine Mitglieder hinzugefügt, und der entsprechende Antwortcode wird zurückgegeben.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
AdditionalData = new Dictionary<string, object>
{
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
}
},
},
};
// 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}"].PatchAsync(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.NewGroup()
additionalData := map[string]interface{}{
odataBind := []string {
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
}
}
requestBody.SetAdditionalData(additionalData)
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=go
groups, err := graphClient.Groups().ByGroupId("group-id").Patch(context.Background(), requestBody, nil)
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
membersOdataBind.add("https://graph.microsoft.com/v1.0/directoryObjects/{id}");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().byGroupId("{group-id}").patch(group);
# 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(
additional_data = {
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
"https://graph.microsoft.com/v1.0/directoryObjects/{id}",
],
}
)
result = await graph_client.groups.by_group_id('group-id').patch(request_body)