有時AD 使用者在AD中的資訊更改,如部門,title,郵件地址,但是沒有及時同步到 User Info list (SiteUserInfoList)
http://sitecollectionURL/_catalogs/users/detail.aspx
本文分享從AD批量同步處理的使用者資訊到User Info list的PowerShell 指令碼,本方法適用於2010和2013。
在任意一台SharePoint Web或App server的SharePoint powershell 工具中執行如下指令碼(可將指令碼另存新檔ps1檔案) :
$sites = Get-SPSite -Limit Allforeach($site in $sites) { $web = $site.RootWeb if($web -ne $null) { Write-Host "Processing: $site" Get-SPUser -Limit All -web $web | foreach { if ($site.WebApplication.UseClaimsAuthentication) { $claim = New-SPClaimsPrincipal $_.LoginName -IdentityType WindowsSamAccountName $user = $web | Get-SPUser -Identity $claim -ErrorAction SilentlyContinue } else { $user = $web | Get-SPUser -Identity $_.LoginName -ErrorAction SilentlyContinue } if ($user -ne $null) { Set-SPUser -Identity $user -web $web -SyncFromAD -ErrorAction SilentlyContinue } } } $web.Dispose() $site.Dispose()}