증상
다음과 같은 경우를 생각해 볼 수 있습니다.
-
작동 하는 사용자 프로필 서비스 응용 프로그램을 사용 하는 SharePoint Server 2010 환경
-
8 월 2010 누적 업데이트 또는 나중에 SharePoint server 2010에 설치 되어 있지 않습니다.
-
여러 사이트 모음을 포함 하는 콘텐츠 데이터베이스를 분리 하 고 연결 했습니다.
이 시나리오에서는 데이터베이스를 웹 응용 프로그램에 다시 첨부 한 후 일부 사이트 모음의 구성원 정보가 변경 되어 영향을 받는 사용자의 ' 내 프로필 '에 있는 ' 구성원 자격 ' 탭에 표시 되지 않습니다. 사용자에 게 표시 되는 구성원 자격 정보는 오래 된 것입니다.
원인
Microsoft는 SharePoint 2010의 8 월 2010 누적 업데이트 (서버 패키지 KB 2352342 )에서 수정 된 제거 된 사이트 모음 정리와 관련 된 제품 문제를 승인 합니다. 그러나이 수정은 핫픽스 설치 전에 해당 데이터베이스를 분리 하 여이 상태에 있는 사이트 모음에는 영향을 주지 않습니다. 영향을 받는 사이트 모음에 대해 구성원 동기화를 복원 하려면 해결 단계를 따르세요.
해결 방법
모든 사이트 모음의 콘텐츠 데이터베이스와 프로필 데이터베이스 간의 구성원 정보 동기화를 복원 하려면 아래에서 설명 하는 단계를 따릅니다.경고:
-
이 절차 중에는 프로필 데이터베이스에서 현재의 모든 SharePoint 그룹 관련 구성원 자격 정보를 삭제 하 고 "SharePoint 전체에 대 한 사용자 프로필 동기화 작업"에서 모든 사이트 모음을 성공적으로 처리할 때까지 사용자가 전체 ' 구성원 자격 ' 정보를 볼 수 없습니다.
-
단계를 수행 하는 동안에는 "{UPA} 사용자 프로필을 SharePoint로설정 하는 동안 다음 타이머 작업을 사용 하지 않아야 합니다. 여기서 {UPA}는 사용자 프로필 서비스 응용 프로그램의 이름입니다.
중앙 관리를 호스트 하는 컴퓨터의 SharePoint 2010 관리 셸을 팜 관리자 그룹의 구성원 이기도 하 고 사용자 프로필 서비스 응용 프로그램에 대 한 ' 모든 권한 ' 권한이 있는 로컬 관리자 사용자로 엽니다. 다음 Powershell 스크립트 조각의 첫 번째 줄에 있는 url을 영향을 받는 사이트 모음 중 하나로 바꾸기 (이 코드 조각은 한 번만 실행 되 고 사용자 프로필 응용 프로그램에서 현재 구성원 그룹을 제거 해야 함)
$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, @()) } }
이 PowerShell 스크립트가 완료 되 면 다음 명령을 실행 하 여 콘텐츠 데이터베이스에 대 한 새 동기화를 예약 하세요.
Stsadm -o sync -deleteolddatabases 0
이제 다음 Powershell 스크립트를 실행 하 여 팜의 모든 사이트 모음에 대 한 ' 전체 멤버 자격 동기화 '를 예약 합니다. 가져오기-SPSite-모두 제한 | % {[WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _. Close ()}이 게시물을 게시 하려면 아래에 나열 된 단계를 따르세요.
-
중앙 관리를 열고 ' 모니터링 ' 섹션의 ' 작업 정의 검토 ' 페이지를 클릭 합니다.
-
"{UPA} 사용자 프로필에서 SharePoint 전체 동기화로타이머 작업을 찾습니다. 여기서 {UPA}은 사용자 프로필 서비스 응용 프로그램의 이름입니다.
-
작업 제목을 클릭 하 고 ' 지금 실행 '을 클릭 합니다.
-
작업이 완료 되 면 구성원 정보가 최신 상태 이며 이전에 영향을 받는 사이트 모음에 대해 후속 실행 중에 자동으로 동기화 됩니다.
추가 정보
프로필 동기화 예약 (Sharepoint server 2010) 타이머 작업 참조 (sharepoint server 2010)