0

我目前正在编写一个脚本,该脚本连接到我们的 SharePoint 管理中心并返回包含所有所有者(姓名和电子邮件)的所有网站的列表

我尝试了 PnP 和 SP 的多种解决方案,但似乎没有任何效果。

看来我必须遍历所有站点,获取具有属性的 Web 对象,获取权限级别,将它们过滤为“完全控制”,然后查找具有这些权限的每个成员。但它有点不像那样工作?

有没有其他人遇到过这个话题?

4

1 回答 1

0

这是一种解决方法,它可能会以某种方式帮助您。这是一个脚本,它导出一个 .csv 文件,其中包含在每个网站集中具有完全控制角色的所有组。您可以使用列表获取所有组成员,并且他们绝对拥有完全控制权限。对于拥有完全控制权限的网站集管理员,只需使用Get-PnPSiteCollectionAdmin

$admin = "jerry@tenant.onmicrosoft.com";
$Credentials=Get-Credential
Connect-SPOService -Url https://tenant-admin.sharepoint.com -credential $Credentials
$Sites=Get-SPOSite
$OwnerList=@() 
Foreach($Site in $Sites)
{
     
            Write-Host $site.URL -ForegroundColor Cyan
     
            #Get all Groups from the site permissions
            $sitegroups = Get-SPOSiteGroup -Site $site.URL
     
            #Get Group info and members that have site owners permissions
            foreach ($sitegroup in $sitegroups)
            {
                foreach($role in $sitegroup.Roles)
                {
                try{
                    if ( $role.Contains(“Full Control”) )
                    {
                        $Row=""|Select SiteURL, FullControlGroupName;
                        $Row.SiteURL=$site.URL
                        $Row.FullControlGroupName=$sitegroup.title
                        $OwnerList+=$Row
                    }
                 }
                 catch{
                    write-host "$($_.Exception.Message)" -foregroundcolor red
                 }
                }
            }
}
$OwnerList | Export-Csv "C:\\OwnerList.csv" -NoTypeInformation 
于 2021-06-01T02:44:40.910 回答