我试图提取站点“成员”以及“部门详细信息”、“职位”以及每个站点的其他属性。结果相当混乱,因为我无法区分站点“所有者”、“管理员”、“成员”和“访问者”。目标只是列出站点成员。
因此,针对每个站点的文件或项目总数提供建议会非常有帮助,我确信最好的解决方案是,循环 Get-PnPList 似乎不起作用。
Connect-PnPOnline -Tenant **** -Url $adminSiteUrl
$sites = Get-PnPTenantSite -Detailed | Select-Object
$results = @()
foreach($site in $sites) {
Connect-PnPOnline -Url $site.Url -Tenant ***
$sitename = $site.Title
$siteurl = $site.Url
$groups = Get-PnPGroup
$userResults = foreach ($group in $groups){
$members = Get-PnPGroupMember -Identity $group.LoginName
foreach ($member in $members) {
$user = Get-PnPUserProfileProperty -Account $member.LoginName
$Data = [PSCustomObject]@{
Name = $sitename
URL = $Siteurl
Owner = $site.Owner
Member = $user.DisplayName
MemberDepartment = $user.'SPS-Department'
MemberJobTitle = $user.Title
}
}
$results += $Data }
$results