Azure active directory 如何使用GraphServiceClient c#创建AD嵌套组?
是否可以使用以下图形API客户端在Azure AD中创建嵌套组:Azure active directory 如何使用GraphServiceClient c#创建AD嵌套组?,azure-active-directory,microsoft-graph-api,active-directory-group,adgroup,Azure Active Directory,Microsoft Graph Api,Active Directory Group,Adgroup,是否可以使用以下图形API客户端在Azure AD中创建嵌套组: 您可以使用附加数据在C#中创建组的步骤中添加成员 创建具有所有者和成员的安全组 明确规定。请注意,最多有20个关系,例如所有者和 成员,可以作为组创建的一部分添加 IConfidentialClientApplication-secretentialclientapplication=secretentialclientapplicationbuilder .Create(clientId) .WithTenantId(tenan
您可以使用
附加数据
在C#中创建组的步骤中添加成员
创建具有所有者和成员的安全组
明确规定。请注意,最多有20个关系,例如所有者和
成员,可以作为组创建的一部分添加
IConfidentialClientApplication-secretentialclientapplication=secretentialclientapplicationbuilder
.Create(clientId)
.WithTenantId(tenantID)
.WithClientSecret(clientSecret)
.Build();
ClientCredentialProvider authProvider=新的ClientCredentialProvider(机密客户端应用程序);
GraphServiceClient graphClient=新的GraphServiceClient(authProvider);
//创建组B并添加成员(user-id1和user-id2)
var additionalDataGroupB=新字典()
{
{"members@odata.bind,新列表()}
};
(附加数据[”members@odata.bind“]作为列表)。添加(”https://graph.microsoft.com/v1.0/users/{id1}”);
(附加数据[”members@odata.bind“]作为列表)。添加(”https://graph.microsoft.com/v1.0/users/{id2}”);
var groupB=新组
{
Description=“B组”,
DisplayName=“PamelaGroupB”,
GroupTypes=新列表()
{
},
MailEnabled=false,
MailNickname=“operation2019”,
SecurityEnabled=true,
AdditionalData=additionalDataGroupB
};
Group groupBRequest=await graphClient.Groups.Request().AddAsync(groupB);
字符串groupB_id=groupBRequest.id;
//创建C组
......
字符串groupC_id=groupCRequest.id;
//创建组A并添加成员(组B和组C)
var additionalDataGroupA=新字典()
{
{"members@odata.bind,新列表()}
};
(附加数据[”members@odata.bind“]作为列表)。添加(”https://graph.microsoft.com/v1.0/groups/“+groupB_id);
(附加数据[”members@odata.bind“]作为列表)。添加(”https://graph.microsoft.com/v1.0/groups/“+groupC_id);
var groupA=新组
{
Description=“A组”,
DisplayName=“PamelaGroupA”,
GroupTypes=新列表()
{
},
MailEnabled=false,
MailNickname=“XXXXX”,
SecurityEnabled=true,
AdditionalData=additionalDataGroupA
};
等待graphClient.Groups.Request().AddAsync(groupA);
我希望它能帮助您@Kaishu@Anshu这意味着我们可以创建A的嵌套组B和C成员。但仍然不清楚如何在创建B和C时引用/链接它们
IConfidentialClientApplication confidentialClientApplication = ConfidentialClientApplicationBuilder
.Create(clientId)
.WithTenantId(tenantID)
.WithClientSecret(clientSecret)
.Build();
ClientCredentialProvider authProvider = new ClientCredentialProvider(confidentialClientApplication);
GraphServiceClient graphClient = new GraphServiceClient(authProvider);
// Create group B and add members(user-id1 and user-id2)
var additionalDataGroupB = new Dictionary<string, object>()
{
{"members@odata.bind", new List<string>()}
};
(additionalData["members@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/users/{id1}");
(additionalData["members@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/users/{id2}");
var groupB = new Group
{
Description = "Group B",
DisplayName = "PamelaGroupB",
GroupTypes = new List<String>()
{
},
MailEnabled = false,
MailNickname = "operations2019",
SecurityEnabled = true,
AdditionalData = additionalDataGroupB
};
Group groupBRequest = await graphClient.Groups.Request().AddAsync(groupB);
string groupB_id = groupBRequest.Id;
// Create group C
......
string groupC_id = groupCRequest.Id;
// Create group A and add members(groupB and groupC)
var additionalDataGroupA = new Dictionary<string, object>()
{
{"members@odata.bind", new List<string>()}
};
(additionalData["members@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/groups/" + groupB_id);
(additionalData["members@odata.bind"] as List<string>).Add("https://graph.microsoft.com/v1.0/groups/" + groupC_id);
var groupA = new Group
{
Description = "Group A",
DisplayName = "PamelaGroupA",
GroupTypes = new List<String>()
{
},
MailEnabled = false,
MailNickname = "XXXXX",
SecurityEnabled = true,
AdditionalData = additionalDataGroupA
};
await graphClient.Groups.Request().AddAsync(groupA);