我正在尝试编写一个 powershell 脚本,该脚本允许我将站点和子站点列表以及其中的权限组导出到 CSV 文件中。
我熟悉使用 cmdlt,但不熟悉构建整个脚本。 我可以使用:
Get-SPOSiteGroup | Export-CSV C:\...
要将站点组导出到 CSV,但它不包括它们所在站点的名称。
我还在网上找到了一个脚本,可以打印出我网站集中的网站和子网站: https://sharepoint.stackexchange.com/questions/101176/powershell-to-list-all-sites-and-subsites-in-sharepoint-online
我不确定如何结合这些信息。我正在尝试将网站和子网站列表以及其中的安全组导出到 CSV 文件中。
我试着跑:
get-sposite | Get-SPOSiteGroup **webdite**
并收到此错误消息:
"Get-SPOSiteGroup : 输入对象不能绑定任何参数 对于命令要么是因为命令不采用管道 输入或输入及其属性不匹配任何 采用管道输入的参数”
我不确定如何让所有这些一起工作。
Get-SPOSiteGroup
cmdlet 接受 Site
参数,因此可以像这样检索租户中每个 site collection 的站点组:
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 '-----------------------------'
}
要检索每个 web 站点 的附加组,可以使用以下脚本:
$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
您可以使用 PowerShell cmdlet 将站点和子站点及其权限组列表导出到 CSV 或 TXT 文件中。您还可以使您的管理任务更高效、更省时。获取有关如何添加和删除用户、创建新组、导出站点详细信息 以及使用 SharePoint Online PowerShell 分配权限的分步说明。查看这篇内容丰富的文章,并使用 PowerShell 轻松管理您的 SharePoint 用户和组。