需要SharePoint 2013中所有网站和网站的所有网站集管理员 [英] Need ALL site collection administrators from all sites and webs in SharePoint 2013
问题描述
我正在尝试将整个2013农场中的所有网站集管理员都收藏起来。我有多个具有大量托管路径和子网站的Web应用程序。我找到了Brian Jacket的剧本,但我无法弄清楚如何枚举子网站和网站。
I am trying to get all of the site collection administrators in my entire 2013 farm. I have multiple web apps with a lot of managed paths and subsites. I found a script by Brian Jacket but I can't figure out how to enumerate sub-sites and webs.
$ siteURL = Get-spwebapplication< URL> | Get-SpSite -Limit All | Get-Spweb -Limit All
$ rootSite = New-Object Microsoft.SharePoint.SPSite($ siteUrl)
$ spWebApp = $ rootSite.WebApplication
foreach($ spWebApp.Sites中的$ site)
{
&NBSP; foreach($ siteAdmin in $ site.RootWeb.SiteAdministrators)
&NBSP; {
&NBSP; &NBSP; &NBSP; Write-Host" $($ siteAdmin.ParentWeb.Url) - $($ siteAdmin.DisplayName)"
&NBSP; }
&NBSP; $ site.Dispose()
}
$ rootSite.Dispose()
$siteURL = Get-spwebapplication <URL> | Get-SpSite -Limit All | Get-Spweb -Limit All
$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication
foreach($site in $spWebApp.Sites)
{
foreach($siteAdmin in $site.RootWeb.SiteAdministrators)
{
Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"
}
$site.Dispose()
}
$rootSite.Dispose()
我得到错误消息无法找到重载(假设由于返回的站点数量),并且无法调用null值表达式上的方法。如果我不尝试枚举所有网站,即$ siteURL = Get-spsite< URL> ;.
I get error messages cannot find an overload (assuming due to number of sites returned), and cannot call a method on a null valued expression. It works if I don't try to enumerate all the sites, i.e. $siteURL = Get-spsite <URL>.
推荐答案
您好dresnick。
Hi dresnick.
PowerShell脚本可以通过这种方式简化
The PowerShell script can be simplified this way
Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue
#Get All Site Collections
SiteCollections = Get-SPSite -Limit全部
Foreach(
SiteCollections = Get-SPSite -Limit All Foreach(
中的网站>
这篇关于需要SharePoint 2013中所有网站和网站的所有网站集管理员的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!