อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณมีสภาพแวดล้อมของ SharePoint Server ๒๐๑๐ที่มีแอปพลิเคชันบริการโปรไฟล์ผู้ใช้ที่ทำงานอยู่
-
คุณไม่ได้ติดตั้งการอัปเดตประจำเดือนสิงหาคม๒๐๑๐หรือเวอร์ชันที่ใหม่กว่าสำหรับ SharePoint server ๒๐๑๐
-
คุณแยกออกจากกันและแนบฐานข้อมูลเนื้อหาที่มีไซต์คอลเลกชันหลายไซต์
ในสถานการณ์สมมตินี้หลังจากแนบฐานข้อมูลกลับไปยังแอปพลิเคชันบนเว็บข้อมูลการเป็นสมาชิกของการเปลี่ยนแปลงไซต์คอลเลกชันบางส่วนและไม่ปรากฏบนแท็บสมาชิก ' โปรไฟล์ของฉัน ' ของผู้ใช้ที่ได้รับผลกระทบ ข้อมูลการเป็นสมาชิกที่มองเห็นได้สำหรับผู้ใช้จะไม่เก่า
สาเหตุ
Microsoft ยอมรับสิ่งนี้เพื่อเป็นปัญหาของผลิตภัณฑ์เกี่ยวกับการล้างข้อมูลของไซต์คอลเลกชันที่ได้รับการแก้ไขในการอัปเดตประจำเดือนสิงหาคม๒๐๑๐สำหรับ SharePoint ๒๐๑๐ (Server package KB ๒๓๕๒๓๔๒ ) อย่างไรก็ตามการแก้ไขนี้จะไม่มีผลต่อไซต์คอลเลกชันที่มีสถานะนี้โดยการแยกฐานข้อมูลของพวกเขาก่อนที่จะติดตั้งโปรแกรมแก้ไขด่วน เมื่อต้องการคืนค่าการซิงโครไนซ์สมาชิกสำหรับไซต์คอลเลกชันที่ได้รับผลกระทบเหล่านี้โปรดทำตามขั้นตอนการแก้ปัญหา
การแก้ไข
ทำตามขั้นตอนที่ระบุไว้ด้านล่างเพื่อคืนค่าการซิงโครไนซ์ข้อมูลที่เป็นสมาชิกระหว่างฐานข้อมูลเนื้อหาและฐานข้อมูลส่วนกำหนดค่าสำหรับไซต์คอลเลกชันทั้งหมดคำเตือน:
-
ในระหว่างขั้นตอนนี้ข้อมูลสมาชิกที่เกี่ยวข้องกับกลุ่ม SharePoint ทั้งหมดจะถูกลบออกจากฐานข้อมูลโปรไฟล์และผู้ใช้จะไม่สามารถดูข้อมูลการเป็นสมาชิกที่สมบูรณ์ของพวกเขาได้จนกว่าจะมีการประมวลผล "โปรไฟล์ผู้ใช้ไปยังงานการซิงโครไนซ์แบบเต็มของ SharePoint" ประมวลผลไซต์คอลเลกชันทั้งหมดเสร็จเรียบร้อยแล้ว
-
งานตัวจับเวลาต่อไปนี้ควรถูกปิดใช้งานในขณะที่ดำเนินการตามขั้นตอน: "{upa} โปรไฟล์ผู้ใช้ไปยัง SharePoint แบบเต็มซิงโครไนซ์" งานที่ {UPA} คือชื่อของแอปพลิเคชันบริการโปรไฟล์ผู้ใช้ของคุณ
เปิด SharePoint ๒๐๑๐ Management Shell บนเครื่องที่โฮสต์การดูแลจากศูนย์กลางเป็นผู้ใช้ที่เป็นผู้ดูแลระบบภายในที่เป็นสมาชิกของกลุ่มผู้ดูแลระบบฟาร์มและมีสิทธิ์ควบคุมทั้งหมดในแอปพลิเคชันบริการโปรไฟล์ผู้ใช้แทนที่ url ในบรรทัดแรกของส่วนย่อยของสคริปต์ Powershell ต่อไปนี้ลงในไซต์คอลเลกชันที่ได้รับผลกระทบของคุณ (ส่วนย่อยของโค้ดนี้เท่านั้นจำเป็นต้องดำเนินการหนึ่งครั้งและจะเอากลุ่มสมาชิกปัจจุบันออกจากแอปพลิเคชันโปรไฟล์ผู้ใช้)
$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-จำกัดทั้งหมด | % {[Microsoft. UserProfiles. WSSProfileSynch]:: ScheduleSiteForFullSynchronization ($ _); $ _ ปิด ()} โพสต์นี้ให้ทำตามขั้นตอนที่แสดงไว้ด้านล่าง
-
เปิดการดูแลจากศูนย์กลางคลิก ' รีวิวข้อกำหนดของงาน ' ภายใต้ส่วน ' การตรวจสอบ '
-
ค้นหาตำแหน่งงานตัวจับเวลา "{UPA} ส่วนกำหนดค่าผู้ใช้ไปยัง SharePoint แบบเต็มซิงโครไนซ์" งานที่ {UPA} คือชื่อของแอปพลิเคชันบริการโปรไฟล์ผู้ใช้ของคุณ
-
คลิกชื่อของงานแล้วคลิก ' เรียกใช้เดี๋ยวนี้ '
-
เมื่องานเสร็จสมบูรณ์แล้วข้อมูลการเป็นสมาชิกจะได้รับการอัปเดตอยู่เสมอและจะถูกซิงโครไนซ์โดยอัตโนมัติในระหว่างการเรียกใช้ไซต์คอลเลกชันที่ได้รับผลกระทบก่อนหน้านี้
ข้อมูลเพิ่มเติม
การซิงโครไนซ์โพรไฟล์กำหนดการ (Sharepoint server ๒๐๑๐)การอ้างอิงงานตัวจับเวลา (sharepoint server ๒๐๑๐)