【问题标题】:PowerShell to Export SharePoint Sites and Subsides with security groupsPowerShell 导出带有安全组的 SharePoint 站点和子站点
【发布时间】:2018-03-21 18:40:00
【问题描述】:
【问题讨论】:
标签:
powershell
sharepoint
export-to-csv
sharepoint-online
sites
【解决方案1】:
Get-SPOSiteGroup cmdlet 接受 Site 参数,因此可以像这样检索租户内每个 网站集 的网站组:
Connect-SPOService -Url $adminUrl
$sitesInfo = Get-SPOSite
#Retrieve and print all sites
foreach ($site in $sitesInfo) {
Write-Host 'Site collection:' $site.Url
Get-SPOSiteGroup -Site $site.Url
Write-Host '-----------------------------'
}
要检索每个网站的附加组,可以使用以下脚本:
$adminUrl = "https://<tenant>-admin.sharepoint.com"
$UserName = "<username>@<tenant>.onmicrosoft.com"
$Password = "--password goes here--"
$SecurePassword = $Password | ConvertTo-SecureString -AsPlainText -Force
$creds = New-Object Microsoft.SharePoint.Client.SharePointOnlineCredentials($UserName, $SecurePassword)
$pscreds = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $userName, $SecurePassword
Connect-SPOService -Url $adminUrl -Credential $pscreds
$sitesInfo = Get-SPOSite
foreach ($site in $sitesInfo) {
Write-Host 'Site collection:' $site.Url
#1. Retrieve and print site info
#Get-SPOSiteGroup -Site $site.Url
$AllWebs = Get-SPOWebs -Url $site.Url -Credential $creds
#2.Retrieve and print webs info (groups Title property in this case)
foreach ($web in $AllWebs) {
$web.Context.Load($web.RoleAssignments.Groups)
$web.Context.ExecuteQuery()
$web.RoleAssignments.Groups.GetEnumerator() | % { Write-Host $_.Title }
}
Write-Host '-----------------------------'
}
要点:
- 使用
Get-SPOWebs.ps1 检索网站集中的网站
这里
- 获取群组每个网站使用
Web.RoleAssignments.Groups