Microsoft 365 开发:如何将GroupMembership从一个用户Clone到另一个用户?

网友投稿 247 2022-10-02

Microsoft 365 开发:如何将GroupMembership从一个用户Clone到另一个用户?

Blog链接:​​Group的成员,因某种情况,需要将其权限克隆给用户Shelley,那么这种情况下,SharePoint Online的内置功能是无法实现的,在不借助第三方工具的情况下,该如何实现呢?

下图为Nigo的权限结构图

说明:

Sharing Link,用户会存储在特殊的Group中子节点打破继承之后,针对父节点而言,会生成Limited Group

解决方案:今天我们调用​​Clone-SPOUserGroupPermission​​​​函数​​来实现该需求,具体操作过程如下:

1.      获取SharePoint Online Center Admin,并赋给$AdminCenterURL,命令如下:

$AdminCenterURL = ​​Online管理中心,登录账户至少有SharePoint Online的管理员账户权限,命令如下:

Connect-SPOService -Url $AdminCenterURL -Credential (Get-Credential)

3.     获取网站URL,并赋给$SiteURL,命令为:

$SiteURL = ​​="nigo.XX@mvptrainingcn.onmicrosoft.com"

5.     获取目的端用户ID,并赋给$TargetUserID,命令如下:

$TargetUserID =​​ShelleyXXX@mvptrainingcn.onmicrosoft.com​​​

​​调用​​Clone-SPOUserGroupPermission​​函数,命令如下:

Function Clone-SPOUserGroupPermission($SiteURL, $SourceUserID, $TargetUserID){ Try { $Site = Get-SPOSite $SiteURL $SourceUser = Get-SPOUser -Site $Site -LoginName $SourceUserID $UserGroups = $SourceUser.Groups If($UserGroups.Count -gt 0) { Write-host -f Yellow "Found the User Member of $($UserGroups.Count) Group(s)..." ForEach ($Group in $UserGroups) { Add-SPOUser -Site $Site -LoginName $TargetUserID -Group $Group | out-null Write-Host -f Green "Added $TargetUserID to Group '$Group'" } } } Catch { Write-host $_.Exception.Message -f Red }}

说明:

遍历网站集以及其子节点自定义的所有Group,包含Limited Group遍历因Sharing Link分享而生成的Group

7. 执行Clone命令,如下:

Clone-SPOUserGroupPermission -SiteURL $SiteURL -SourceUserID$SourceUserID -TargetUserID $TargetUserID

说明:Shelley被Clone到Nigo所在的Group中,享受Group在网站所具备的权限。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Microsoft 365 开发:如何将文档库或者列表权限复制到其他文档库或者列表上?
下一篇:SpringMVC中请求参数的获取方式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~