Erstellen Sie eine neue Gruppe gemäß der Angabe im Anforderungstext. Sie können die folgenden Arten von Gruppen erstellen:
Microsoft 365-Gruppe (einheitliche Gruppe)
Sicherheitsgruppe
Dieser Vorgang gibt standardmäßig nur eine Teilmenge der Eigenschaften für jede Gruppe zurück. Diese Standardeigenschaften werden im Abschnitt Eigenschaften aufgeführt.
Um Eigenschaften abzurufen, die nicht standardmäßig zurückgegeben werden, führen Sie eine GET-Operation aus, und geben Sie die Eigenschaften in einer $select OData-Abfrageoption an.
Hinweis: Obwohl Microsoft Teams basierend auf Microsoft 365-Gruppen erstellt wurde, können Sie mit dieser API zur Zeit kein Team erstellen. Sie können die anderen Gruppen-APIs verwenden, um ein Team zu verwalten, das in der Microsoft Teams-Benutzeroberfläche erstellt wurde.
Wählen Sie die Berechtigungen aus, die für diese API als am wenigsten privilegiert markiert sind. Verwenden Sie eine höhere Berechtigung oder Berechtigungen nur, wenn Ihre App dies erfordert. Ausführliche Informationen zu delegierten Berechtigungen und Anwendungsberechtigungen finden Sie unter Berechtigungstypen. Weitere Informationen zu diesen Berechtigungen finden Sie in der Berechtigungsreferenz.
Berechtigungstyp
Berechtigungen mit den geringsten Berechtigungen
Berechtigungen mit höheren Berechtigungen
Delegiert (Geschäfts-, Schul- oder Unikonto)
Group.ReadWrite.All
Directory.ReadWrite.All
Delegiert (persönliches Microsoft-Konto)
Nicht unterstützt
Nicht unterstützt
Anwendung
Group.Create
Directory.ReadWrite.All, Group.ReadWrite.All
Wenn eine App eine Gruppe mit Besitzern oder Mitgliedern erstellt, während sie über die Berechtigung Group.Create verfügt, muss die App über die Berechtigungen zum Lesen des Objekttyps verfügen, den sie als Gruppenbesitzer oder -mitglied zuweisen möchte. Deshalb:
Die App kann sich selbst als Besitzer oder Mitglied der Gruppe zuweisen.
Um die Gruppe mit Benutzern als Besitzer oder Mitglieder zu erstellen, muss die App mindestens über die Berechtigung User.Read.All verfügen.
Um die Gruppe mit anderen Dienstprinzipalen als Besitzer oder Mitglieder zu erstellen, muss die App mindestens über die Berechtigung Application.Read.All verfügen.
Um die Gruppe mit Benutzern oder Dienstprinzipalen als Besitzer oder Mitgliedern zu erstellen, muss die App mindestens über die Berechtigung Directory.Read.All verfügen.
Geben Sie im Anforderungstext eine JSON-Darstellung des Gruppenobjekts an.
In der folgenden Tabelle sind die Eigenschaften aufgeführt, die beim Erstellen der Gruppe erforderlich sind. Geben Sie bei Bedarf andere beschreibbare Eigenschaften für Ihre Gruppe an.
Eigenschaft
Typ
Beschreibung
displayName
Zeichenfolge
Der Name der Gruppe, der im Adressbuch angezeigt wird. Maximale Länge: 256 Zeichen. Erforderlich.
mailEnabled
Boolesch
Für E-Mail-aktivierte Gruppen auf true setzen. Erforderlich.
mailNickname
Zeichenfolge
Der E-Mail-Alias für die Gruppe, eindeutig für Microsoft 365-Gruppen in der Organisation. Die maximale Länge beträgt 64 Zeichen. Diese Eigenschaft darf nur Zeichen im ASCII-Zeichensatz 0 bis 127 mit Ausnahme der folgenden enthalten: @ () \ [] " ; : <> , SPACE. Erforderlich.
securityEnabled
Boolean
true für sicherheitsaktivierte Gruppen festlegen, einschließlich Microsoft 365-Gruppen. Erforderlich.
Hinweis: Gruppen, die mit dem Microsoft Entra Admin Center oder dem Azure-Portal erstellt wurden, ist securityEnabled anfangs immer auf truefestgelegt.
Wichtig
Beim Erstellen einer Gruppe mit der Anwendungsberechtigung Group.Create ohne Angabe von Besitzern wird die Gruppe anonym erstellt, und die Gruppe kann nicht geändert werden. Fügen Sie der Gruppe während der Erstellung Besitzer hinzu, damit die Besitzer die Gruppe verwalten können.
Beim Erstellen einer Microsoft 365-Gruppe in einem reinen App-Kontext und ohne Angabe von Besitzern wird die Gruppe anonym erstellt. Dies kann dazu führen, dass die zugehörige SharePoint Online-Website nicht automatisch erstellt wird und weitere manuelle Aktionen nötig sind.
Beim Erstellen einer Microsoft 365- oder Sicherheitsgruppe in einem delegierten Kontext, angemeldet als Nicht-Administratorbenutzer und ohne Angabe von Besitzern wird der aufrufende Benutzer automatisch als Gruppenbesitzer hinzugefügt. Ein Administratorbenutzer wird automatisch als Gruppenbesitzer einer Microsoft 365-Gruppe hinzugefügt, die er erstellt, aber nicht einer Sicherheitsgruppe.
Ein Benutzer ohne Administratorrechte kann sich nicht selbst zur Sammlung der Gruppenbesitzer hinzufügen. Weitere Informationen finden Sie unter dem zugehörigen bekannten Problem.
Folgende Eigenschaften können in der ersten POST-Anfrage nicht gesetzt werden und müssen in einer nachfolgenden PATCH-Anfrage gesetzt werden: allowExternalSenders, autoSubscribeNewMembers, hideFromAddressLists, hideFromOutlookClients, isSubscribedByMail, unseenCount.
groupTypes-Optionen
Verwenden Sie, wie dargestellt, die Eigenschaft groupTypes zum Steuern des Typs der Gruppe und ihrer Mitgliedschaft.
Typ der Gruppe
Zugeordnete Mitgliedschaft
Dynamische Mitgliedschaft
Microsoft 365 (auch einheitliche Gruppe genannt)
["Unified"]
["Unified","DynamicMembership"]
Dynamisch
[] (null)
["DynamicMembership"]
Antwort
Wenn die Methode erfolgreich verläuft, werden der Antwortcode 201 Created und ein group-Objekt im Antworttext zurückgegeben. Die Antwort enthält nur die Standardeigenschaften der Gruppe.
Beispiele
Beispiel 1: Eine Microsoft 365-Gruppe erstellen
Im folgenden Beispiel wird eine Microsoft 365-Gruppe erstellt. Da die Besitzer nicht angegeben wurden, wird der anrufende Benutzer automatisch als Besitzer der Gruppe hinzugefügt.
POST https://graph.microsoft.com/v1.0/groups
Content-type: application/json
{
"description": "Self help community for library",
"displayName": "Library Assist",
"groupTypes": [
"Unified"
],
"mailEnabled": true,
"mailNickname": "library",
"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
{
Description = "Self help community for library",
DisplayName = "Library Assist",
GroupTypes = new List<string>
{
"Unified",
},
MailEnabled = true,
MailNickname = "library",
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.Groups.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.NewGroup()
description := "Self help community for library"
requestBody.SetDescription(&description)
displayName := "Library Assist"
requestBody.SetDisplayName(&displayName)
groupTypes := []string {
"Unified",
}
requestBody.SetGroupTypes(groupTypes)
mailEnabled := true
requestBody.SetMailEnabled(&mailEnabled)
mailNickname := "library"
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
groups, err := graphClient.Groups().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 group = new Group();
group.setDescription("Self help community for library");
group.setDisplayName("Library Assist");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
group.setGroupTypes(groupTypes);
group.setMailEnabled(true);
group.setMailNickname("library");
group.setSecurityEnabled(false);
Group result = graphClient.groups().post(group);
<?php
use Microsoft\Graph\GraphServiceClient;
use Microsoft\Graph\Generated\Models\Group;
$graphServiceClient = new GraphServiceClient($tokenRequestContext, $scopes);
$requestBody = new Group();
$requestBody->setDescription('Self help community for library');
$requestBody->setDisplayName('Library Assist');
$requestBody->setGroupTypes(['Unified', ]);
$requestBody->setMailEnabled(true);
$requestBody->setMailNickname('library');
$requestBody->setSecurityEnabled(false);
$result = $graphServiceClient->groups()->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(
description = "Self help community for library",
display_name = "Library Assist",
group_types = [
"Unified",
],
mail_enabled = True,
mail_nickname = "library",
security_enabled = False,
)
result = await graph_client.groups.post(request_body)
Das folgende Beispiel zeigt die Antwort. Der Wert der Eigenschaft preferredDataLocation-Eigenschaft wird vom bevorzugten Datenspeicherort des Gruppenerstellers geerbt.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
Beispiel 2: Erstellen einer Gruppe mit Besitzern und Mitgliedern
Im folgenden Beispiel wird eine Sicherheitsgruppe mit einem angegebenen Besitzer und Mitgliedern erstellt. Bitte beachten Sie, dass maximal 20 Beziehungen, beispielsweise Besitzer und Mitglieder, als Teil im Rahmen der Gruppenerstellung hinzugefügt werden können. Sie können später weitere Mitglieder hinzufügen, indem Sie die API Mitglied hinzufügen oder die JSON-Batchverarbeitung nutzen.
Ein Benutzer ohne Administratorrechte kann sich nicht selbst zur Sammlung der Gruppenbesitzer hinzufügen. Weitere Informationen finden Sie unter dem zugehörigen bekannten Problem.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
Description = "Group with designated owner and members",
DisplayName = "Operations group",
GroupTypes = new List<string>
{
},
MailEnabled = false,
MailNickname = "operations2019",
SecurityEnabled = true,
AdditionalData = new Dictionary<string, object>
{
{
"owners@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14",
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
group.setDescription("Group with designated owner and members");
group.setDisplayName("Operations group");
LinkedList<String> groupTypes = new LinkedList<String>();
group.setGroupTypes(groupTypes);
group.setMailEnabled(false);
group.setMailNickname("operations2019");
group.setSecurityEnabled(true);
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> ownersOdataBind = new LinkedList<String>();
ownersOdataBind.add("https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc");
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().post(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(
description = "Group with designated owner and members",
display_name = "Operations group",
group_types = [
],
mail_enabled = False,
mail_nickname = "operations2019",
security_enabled = True,
additional_data = {
"owners@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/26be1845-4119-4801-a799-aea79d09f1a2",
],
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/ff7cb387-6688-423c-8188-3da9532a73cc",
"https://graph.microsoft.com/v1.0/users/69456242-0067-49d3-ba96-9de6f2728e14",
],
}
)
result = await graph_client.groups.post(request_body)
Es folgt ein Beispiel für eine erfolgreiche Antwort. Es enthält nur Standardeigenschaften. Sie können anschließend die owners- oder members-Navigationseigenschaft der Gruppe abrufen, um den Besitzer oder die Mitglieder zu überprüfen. Der Wert der Eigenschaft preferredDataLocation-Eigenschaft wird vom bevorzugten Datenspeicherort des Gruppenerstellers geerbt.
Hinweis: Das hier gezeigte Antwortobjekt kann zur besseren Lesbarkeit gekürzt werden.
Beispiel 3: Erstellen einer Microsoft 365-Gruppe, die einer Microsoft Entra Rolle zugewiesen werden kann
Anforderung
Das folgende Beispiel zeigt eine Anfrage. Dem aufrufenden Benutzer muss die Berechtigung RoleManagement.ReadWrite.Directory zugewiesen werden, um die isAssignableToRole-Eigenschaft festzulegen oder die Mitgliedschaft solcher Gruppen zu aktualisieren.
Eine Gruppe, deren eigenschaft isAssignableToRole auf true festgelegt ist, darf nicht vom typ dynamic membership sein, ihre securityEnabled muss auf truefestgelegt werden, und die Sichtbarkeit kann nur sein Private.
// Code snippets are only available for the latest version. Current version is 5.x
// Dependencies
using Microsoft.Graph.Models;
var requestBody = new Group
{
Description = "Group assignable to a role",
DisplayName = "Role assignable group",
GroupTypes = new List<string>
{
"Unified",
},
IsAssignableToRole = true,
MailEnabled = true,
SecurityEnabled = true,
MailNickname = "contosohelpdeskadministrators",
AdditionalData = new Dictionary<string, object>
{
{
"owners@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
}
},
{
"members@odata.bind" , new List<string>
{
"https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
}
},
},
};
// To initialize your graphClient, see https://learn.microsoft.com/en-us/graph/sdks/create-client?from=snippets&tabs=csharp
var result = await graphClient.Groups.PostAsync(requestBody);
// Code snippets are only available for the latest version. Current version is 6.x
GraphServiceClient graphClient = new GraphServiceClient(requestAdapter);
Group group = new Group();
group.setDescription("Group assignable to a role");
group.setDisplayName("Role assignable group");
LinkedList<String> groupTypes = new LinkedList<String>();
groupTypes.add("Unified");
group.setGroupTypes(groupTypes);
group.setIsAssignableToRole(true);
group.setMailEnabled(true);
group.setSecurityEnabled(true);
group.setMailNickname("contosohelpdeskadministrators");
HashMap<String, Object> additionalData = new HashMap<String, Object>();
LinkedList<String> ownersOdataBind = new LinkedList<String>();
ownersOdataBind.add("https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e");
additionalData.put("owners@odata.bind", ownersOdataBind);
LinkedList<String> membersOdataBind = new LinkedList<String>();
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0");
membersOdataBind.add("https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e");
additionalData.put("members@odata.bind", membersOdataBind);
group.setAdditionalData(additionalData);
Group result = graphClient.groups().post(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(
description = "Group assignable to a role",
display_name = "Role assignable group",
group_types = [
"Unified",
],
is_assignable_to_role = True,
mail_enabled = True,
security_enabled = True,
mail_nickname = "contosohelpdeskadministrators",
additional_data = {
"owners@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/99e44b05-c10b-4e95-a523-e2732bbaba1e",
],
"members@odata_bind" : [
"https://graph.microsoft.com/v1.0/users/6ea91a8d-e32e-41a1-b7bd-d2d185eed0e0",
"https://graph.microsoft.com/v1.0/users/4562bcc8-c436-4f95-b7c0-4f8ce89dca5e",
],
}
)
result = await graph_client.groups.post(request_body)
Das folgende Beispiel zeigt die Antwort. Enthält nur Standardeigenschaften. Der Wert der Eigenschaft preferredDataLocation-Eigenschaft wird vom bevorzugten Datenspeicherort des Gruppenerstellers geerbt.