Simptomi
Iedomājieties šādu scenāriju:
-
Jums ir SharePoint Server 2010 vide ar darba lietotāja profila pakalpojuma lietojumprogrammu
-
Jums nav instalēts augusts 2010 kumulatīvais atjauninājums vai jaunāks SharePoint Server 2010
-
Jūs esat atvienojis un pievienojis satura datu bāzi, kurā ir vairākas vietņu kolekcijas
Šajā scenārijā pēc tam, kad datu bāzi esat pieslēdzis savā tīmekļa lietojumprogrammā, dažas vietņu kolekcijas dalības informācija tiek mainīta un neparādās ietekmēto lietotāju cilnē dalība. Lietotāju redzamā informācija par dalību būs sastāvējies.
Cēlonis
Microsoft apstiprina, ka šī ir produkta problēma attiecībā uz noņemto vietņu kolekciju tīrīšanu, kas tika novērsta augusta 2010 kumulatīvajā atjauninājumā SharePoint 2010 (Server pakotnes KB 2352342 ). Taču šis labojums neietekmē vietņu kolekcijas, kas nonāca šajā stāvoklī, atdalot savas datu bāzes pirms labojumfaila instalācijas. Lai atjaunotu dalības sinhronizāciju šīm ietekmētajām vietņu kolekcijām, lūdzu, rīkojieties saskaņā ar izšķirtspējas darbībām.
Risinājums
Veiciet tālāk norādītās darbības, lai atjaunotu dalības informācijas sinhronizāciju starp satura datu bāzi un profilu datu bāzi visās vietņu kolekcijās.Brīdinājums:
-
Šīs procedūras laikā visa pašreizējā ar SharePoint grupu saistītā dalības informācija tiks izdzēsta no profila datu bāzes un lietotāji nevarēs skatīt savu pilno informāciju par dalības statusu, līdz "lietotāja profils uz SharePoint pilnas sinhronizācijas darbs" apstrādā visas vietņu kolekcijas.
-
Veicot šīs darbības, ir jāatspējo šis taimera darbs: "{upa} lietotāja profils uz SharePoint pilno sinhronizāciju" darbs, kur {upa} ir jūsu lietotāja profila pakalpojuma lietojumprogrammas nosaukums.
Atveriet SharePoint 2010 pārvaldības čaulu datorā, kurā ir centrālā administrēšana, kā lokālo administratora lietotāju, kurš ir arī fermas administratoru grupas dalībnieks un kuram ir "pilnīgas kontroles" atļaujas lietotāja profila pakalpojuma lietojumprogrammā. aizstājiet vietrādi URL ar tālāk norādītās PowerShell skripta daļas pirmo rindiņu uz kādu no ietekmētajām vietņu kolekcijām (šis koda fragments ir jāizpilda tikai vienreiz, un tiks noņemtas pašreizējās dalības grupas no lietotāja profila lietojumprogrammas)
$url = "http://server/sites/sitecoll";$SPSite = get-spsite $url;$context = [Microsoft.SharePoint.SPServiceContext]::GetContext($SPSite)$manager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager $context$sourceMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("get_Source")$deleteMethod = [Microsoft.Office.Server.UserProfiles.MemberGroup].getmethod("Delete")foreach ($memberGroup in $manager.GetMemberGroups()){ if ($sourceMethod.Invoke($memberGroup, @()) -eq "SharePointSite") { $deleteMethod.Invoke($memberGroup, @()) } }
Kad tas ir pabeigts, izpildiet tālāk norādīto komandu, lai ieplānojiet jaunu sinhronizāciju satura datu bāzēs.
Stsadm -o sync -deleteolddatabases 0
Tagad palaidiet tālāk norādīto PowerShell skriptu, lai ieplānojiet visu vietņu kolekciju pilnu dalības sinhronizāciju savā fermā. Get-SPSite-Limit All | % {[Microsoft. Office. Server. UserProfiles. WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _. Close ()} Izlieciet šo, veiciet tālāk norādītās darbības
-
Atveriet centrālo administrēšanu, noklikšķiniet uz lapas "pārskatīt darba definīcijas" zem sadaļas "pārraudzība".
-
Atrodiet taimera darbu "{upa} lietotāja profilu uz SharePoint pilno sinhronizāciju" darbu, kur {upa} ir jūsu lietotāja profila pakalpojuma lietojumprogrammas nosaukums.
-
Noklikšķiniet uz darba virsraksta un pēc tam uz "Palaist tūlīt".
-
Kad darbs ir pabeigts, dalības informācija būs atjaunināta, un tā tiks automātiski sinhronizēta turpmāko darbību laikā, kas ir iepriekš ietekmētās vietņu kolekcijas.
Papildinformācija
Profilu sinhronizācijas plānošana (SharePoint server 2010) taimera darba atsauce (SharePoint Server 2010)