从SharePoint Online站点中移除站点集管理员

做为一个站点集管理员,可以很方便的在下面的页面中从管理员组中移除用户或者组。

 

 那么如何用C#的代码实现上面这个需求呢。

ClientContext ctx = new OfficeDevPnP.Core.AuthenticationManager().GetAppOnlyAuthenticatedContext(siteUrl, appOnlyId, appOnlySecret);          
var user = ctx.Site.RootWeb.SiteUsers.GetByLoginName(“****”); //user login email.
ctx.Load(user);
ctx.ExecuteQuery();
user.IsSiteAdmin = false;
user.Update();
ctx.Load(user);
ctx.ExecuteQuery();

这段代码很好理解,唯一要注意的就是login name。如果是一个用户,login name通常就是他在组织内的邮箱。但如果是一个组呢?我们拿SharePoint owner组来举例,看看如何得到login name. 最简单的方法就是使用Powershell

 

 结果很清楚的显示了owners组的LoginName是“c:0o.c|federateddirectoryclaimprovider|aa41da76-bfbb-4b6c-8adf-a0bb69e5d83c_o”。其中“aa41da76-bfbb-4b6c-8adf-a0bb69e5d83c”这个ID实际就是这个Office 365组的ID,找到此规律后,就可以方便的拼接出组的LoginName了。

 

posted @ 2021-02-10 23:47  老王717  阅读(83)  评论(0编辑  收藏  举报