Príznaky
Zoberme si nasledujúcu situáciu:
-
Máte prostredie SharePoint servera 2010 s aplikáciou služby pracovnej aplikácie používateľského profilu
-
Nemáte nainštalovanú kumulatívnu aktualizáciu v auguste 2010 alebo novšiu verziu pre SharePoint Server 2010
-
Oddelili ste a pripojili databázu obsahu, ktorá obsahuje niekoľko kolekcií lokalít
V tomto scenári sa po priložení databázy späť do svojej webovej aplikácie informácie o členstve v niektorých kolekciách lokalít zmenia a nezobrazia na karte členstvo v časti môj profil príslušných používateľov. Informácie o členstve, ktoré sú viditeľné pre používateľov, budú zastarané.
Príčina
Spoločnosť Microsoft uznáva, že ide o problém s produktom, pokiaľ ide o Čistenie odstránených kolekcií lokalít, ktoré boli odstránené v auguste 2010 Kumulatívna aktualizácia pre SharePoint 2010 (serverový balík KB 2352342 ). Táto oprava však nemá vplyv na kolekcie lokalít, ktoré sa dostali do tohto stavu, a to tak, že ich databázy prepojíte pred inštaláciou opravy hotfix. Ak chcete obnoviť synchronizáciu členstva v týchto príslušných kolekciách lokalít, postupujte podľa krokov v časti riešenie.
Riešenie
Ak chcete obnoviť synchronizáciu informácií o členstve medzi databázou obsahu a databázou profilov pre všetky kolekcie lokalít, postupujte podľa nižšie uvedených krokov.Upozornenie:
-
Počas tohto postupu sa všetky aktuálne informácie o členstve v skupine SharePoint odstránia z databázy profilu a používatelia nebudú môcť zobraziť svoje kompletné informácie o členstve, až kým nebudete úspešne spracovať všetky kolekcie lokalít.
-
Pri vykonávaní krokov by mala byť vypnutá nasledujúca úloha časovača: "{UPA} profil používateľa na úplnú synchronizáciu SharePointu", kde {UPA} je názov aplikácie služby používateľských profilov.
Otvorte prostredie na správu SharePointu 2010 v počítači, v ktorom je centrálna správa hostiteľom, ako používateľ lokálneho správcu, ktorý je tiež členom skupiny správcov farmy a má povolenia na úplný prístup v aplikácii služby používateľského profilu. nahraďte URL adresu v prvom rade nasledujúceho zlomku skriptu prostredia PowerShell do niektorej z príslušných kolekcií lokalít (tento útržok kódu je potrebné vykonať len raz a odstránia sa aktuálne skupiny členstva z aplikácie používateľského profilu).
$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, @()) } }
Po dokončení tohto skriptu prostredia PowerShell spustite nasledujúci príkaz na naplánovanie novej synchronizácie databáz obsahu.
Stsadm -o sync -deleteolddatabases 0
Teraz spustite nasledujúci skript prostredia PowerShell a naplánujte úplnú synchronizáciu členstva všetkých kolekcií lokalít vo vašej farme. Get-SPSite-Obmedzte všetky | % {[Microsoft. Office. Server. UserProfiles. WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _. Close ()} Uverejnite toto, postupujte podľa nižšie uvedených krokov
-
Otvorte centrálna správa, kliknite na stránke revízia definícií úloh v časti sledovanie.
-
Vyhľadajte úlohu časovača{UPA} profil používateľa na úplnú synchronizáciu SharePointu, kde {UPA} je názov aplikácie služby používateľského profilu.
-
Kliknite na názov úlohy a kliknite na položku Spustiť teraz.
-
Po dokončení práce budú informácie o členstve aktualizované a automaticky sa synchronizujú v priebehu následných jázd v minulosti ovplyvnených kolekcií lokalít.
Ďalšie informácie
Plán synchronizácie profilu (SharePoint server 2010) (SharePoint server) (SharePoint Server 2010)