Symptomy
Rozpatrzmy następujący scenariusz:
-
Masz środowisko programu SharePoint Server 2010 z działającą aplikacją usługi profilu użytkownika
-
Nie zainstalowano aktualizacji zbiorczej z sierpnia 2010 lub nowszej dla programu SharePoint Server 2010
-
Odłączono i załączono bazę danych zawartości zawierającą kilka zbiorów witryn
W tym scenariuszu po dołączeniu bazy danych do aplikacji sieci Web informacje o członkostwie w kilku zbiorach witryn ulegną zmianie i nie pojawią się na karcie "członkostwa" w folderze "mój profil" dla użytkowników, których dotyczy problem. Informacje o członkostwie widoczne dla użytkowników będą nieaktualne.
Przyczyna
Firma Microsoft potwierdzi, że jest to problem dotyczący usunięcia usuniętych zbiorów witryn, który został rozwiązany w aktualizacji zbiorczej z sierpnia 2010 dla programu SharePoint 2010 (pakiet serwera KB 2352342 ). Jednak ta poprawka nie wpływa na zbiory witryn, które są w tym stanie, odłączając ich bazy danych przed zainstalowaniem poprawki. Aby przywrócić synchronizację członkostwa dla tych zbiorów witryn, wykonaj czynności opisane w artykule rozwiązanie.
Rozwiązanie
Postępuj zgodnie z instrukcjami opisanymi poniżej, aby przywrócić synchronizację informacji o członkostwie między bazą danych zawartości a bazą danych profilów dla wszystkich zbiorów witryn.Ostrzeżenie:
-
W tej procedurze wszystkie bieżące informacje o członkostwie powiązanej grupy programu SharePoint zostaną usunięte z bazy danych profilów, a użytkownicy nie będą mogli wyświetlać ich pełnych informacji o członkostwie, dopóki nie zostaną pomyślnie przeprowadzone wszystkie zbiory witryn w ramach zadania pełnej synchronizacji profilu użytkownika z programem SharePoint.
-
Podczas wykonywania czynności należy wyłączyć następujące zadanie czasomierza: "{dalszy} profil użytkownika w pełnej synchronizacji programu SharePoint",gdzie {dalszy} jest nazwą aplikacji usługi profilu użytkownika.
Otwórz powłokę zarządzania programu SharePoint 2010 na komputerze obsługującym administrację centralną jako administrator lokalny, który jest również członkiem grupy administratorów farmy i ma uprawnienia Pełna kontrola w aplikacji usługi profilu użytkownika. Zastąp adres URL w pierwszym wierszu następującego fragmentu skryptu programu PowerShell do jednego z Twoich zbiorów witryn (ten fragment kodu wymaga wykonania tylko raz i usunie bieżące grupy członkostwa z aplikacji profilu użytkownika).
$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 zakończeniu wykonywania tego skryptu programu PowerShell uruchom następujące polecenie, aby zaplanować nową synchronizację dla baz danych zawartości.
Stsadm -o sync -deleteolddatabases 0
Uruchom teraz Poniższy skrypt programu PowerShell, aby zaplanować pełną synchronizację członkostwa we wszystkich zbiorach witryn w farmie. Get-SPSite — Ogranicz wszystkie | % {[Microsoft. Office. Server. UserProfiles. WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _. Zamknij ()} Opublikuj to polecenie, a następnie postępuj zgodnie z instrukcjami podanymi poniżej.
-
Otwórz stronę Administracja centralna, kliknij pozycję Przejrzyj definicje zadań w sekcji monitorowanie.
-
Zlokalizuj zadanie czasomierza "{dalszy} profil użytkownika w pełnej synchronizacji programu SharePoint",gdzie {dalszy} jest nazwą aplikacji usługi profilu użytkownika.
-
Kliknij tytuł zadania i kliknij przycisk Uruchom teraz.
-
Po zakończeniu zadania informacje o członkostwie będą aktualne i zostaną zsynchronizowane automatycznie podczas kolejnych uruchomień dla poprzednio dotkniętych zbiorów witryn.
Więcej informacji
Odwołanie zadania czasomierza Planowanie synchronizacji profilu (SharePoint server 2010)(SharePoint Server 2010)