C# Azure GraphClient库从组中删除用户

C# Azure GraphClient库从组中删除用户,c#,azure,C#,Azure,azure Graph客户端库已于12月22日更新,将用户添加到组的方法已修复 但是有可能从组中删除用户吗 我试过这个方法: {groupObject}.Members.Remove({entityObject} as DirectoryObject); await myGroup.UpdateAsync(); 它不会失败,但用户不会从组中删除。我找到了一个解决方法。也许这会有帮助: public void RemoveUserFromGroup(Group group, User use

azure Graph客户端库已于12月22日更新,将用户添加到组的方法已修复

但是有可能从组中删除用户吗

我试过这个方法:

{groupObject}.Members.Remove({entityObject} as DirectoryObject); 
await myGroup.UpdateAsync();

它不会失败,但用户不会从组中删除。

我找到了一个解决方法。也许这会有帮助:

public void RemoveUserFromGroup(Group group, User user)
    {
            var internalGroup = _activeDirectoryClient.Context.CreateQuery<GraphClient.Internal.Group>("groups/" + group.ObjectId).ToList().First();

            var internalUser = _activeDirectoryClient.Context.CreateQuery<GraphClient.Internal.User>("users/" + user.ObjectId).ToList().First();

            _activeDirectoryClient.Context.DeleteLink(internalGroup, "members", internalUser);
            _activeDirectoryClient.Context.SaveChanges();           
    }
public void RemoveUserFromGroup(组组,用户)
{
var internalGroup=_activeDirectoryClient.Context.CreateQuery(“groups/”+group.ObjectId.ToList().First();
var internalUser=_activeDirectoryClient.Context.CreateQuery(“users/”+user.ObjectId.ToList().First();
_activeDirectoryClient.Context.DeleteLink(internalGroup,“成员”,internalUser);
_activeDirectoryClient.Context.SaveChanges();
}

我遇到了类似的问题,并且能够诊断出来。我认为这个问题取决于如何检索该组——是否包括该组的成员;您可以为此使用.Expand()子句

例如,以下各项确实有效:


但是,请注意,.Expand()操作仅限于20个对象,因此在大多数情况下,Tomáš的解决方案目前可能更安全。

尝试了前两种方法,一种是在库中,另一种是在microsoft页面上提供的api调用。两者都不起作用。上面的例子非常有效,谢谢你,托马斯!在有20多名成员的小组中为我工作
group = (Group)(await _activeDirectoryClient.Groups.Where(g => g.ObjectId == groupId).Expand(g => g.Members).ExecuteSingleAsync());
user  = (User)(await _activeDirectoryClient.Users.Where(u => u.ObjectId == userId).ExecuteSingleAsync());

group.Members.Remove(user);
await group.UpdateAsync();