[SPS2007]KB-List Owner Issue When User Changed Domain

 

當使用者更換網域時,原本的清單權限設定讀取/編輯為只有自己的項目。

image

 

當 DomainAUser1 轉至 DomainBUser1 時,Sharepoint 就不認得,清單的擁有者及修改者皆是原本的帳號,新的帳號雖是同一個人,但是看不到也編輯不到。

 

詢問過 Sharepoint MVP Andy-11 後,他提供了以下的建議:

 

When user account information is changed in Active Directory Domain Services (AD DS), the User name and Account name information is not synchronized correctly after you import a profile in SharePoint Server 2007

http://support.microsoft.com/kb/953131/en-us

stsadm.exe -o migrateuser -oldlogin <Domain nameOld user name> -newlogin <Domain nameNew user name> -ignoresidhistory

 

不過,在 Lab 環境時,小熊子自己實作時是有一些問題,由於我們使用的方式很單純,只有清單的部份,並沒有個人網站之類。

所以就硬性修改了 List 中的 tp_Author 及 tp_Editor ,以下是更新的 Sample Code。

當然要提醒一下,微軟針對調整 Sharepoint 的資料或 Schema ,均不提供 Support ,請各位實作時要三思。

 

update d set d.tp_Author=new.tp_ID , d.tp_Editor=new.tp_ID
from alluserdata d
join alllists list
on list.tp_ID = d.tp_ListID and list.tp_WebId = <WEB_ID> and list.tp_title not in (N’使用者資訊清單’)
join (select tp_SiteID,tp_ID,tp_login from userinfo where tp_login = <DomainAUser1>) as old
on d.tp_siteID = old.tp_SiteID and d.tp_Author = old.tp_ID and d.tp_Editor = old.tp_ID
join
(select top 1 tp_SiteID,tp_ID,tp_login from userinfo where tp_login = <DomainBUser1> ) as new
on d.tp_siteID = new.tp_SiteID;

Bookmark the permalink.

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *