Powershell to list all user per Site Collection under a Web Application

$siteUrl = http://web_application_url

$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)
$spWebApp = $rootSite.WebApplication

foreach($site in $spWebApp.Sites)
{

write-host “site:$site"
$SPUserCol = $site.RootWeb.SiteUsers
foreach ($SPUser in $SPUserCol)
{
write-host $SPUser, $SPUser.displayname
}
write-host “`n"
}
$rootSite.Dispose()

以上Script可以列出http://web_application_url底下, 逐個Site Collection底下的user。我用的是SPUser, 應該是顯示該Site collection下有"登入"過的用戶。一但登入過該Site Collection就會被記住, 不代表執行一刻擁有Permission。

如果發現Display name或其他User屬性還是舊的, 想立即與AD同步, 可執行以下兩句:

$user = Get-SPUser -Identity “i:0#.w|domain\username" -Web http://site_collection_url
Set-SPUser -Identity $user -SyncFromAD -Web http://site_collection_url

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s

%d 位部落客按了讚: