在SharePoint的使用過程中,尤其是Windows認證的情況下,而且沒有配置用戶配置文件服務,經常會出現如果更新AD中的用戶信息(包括名字、顯示名、郵件等),SharePoint這邊站點並不會更新的情況。
這時候,我們經常會操作數據進行更新操作,生產環境建議備份,測試環境也要多看幾次update語句。
1、首先進入授權的用戶組,看到我們的用戶名,當AD中更新,這里的Name還是之前的名字,如下:
2、鼠標放到名字上,可以看到Url鏈接地址,這時候我們需要ListId和ID,ListId是用戶信息的列表,ID是用戶的UserID,如下圖:
/_layouts/listform.aspx?PageType=4&ListId={01E9CCA7-41EE-43A5-96A0-3A91A9E9CE3D}&ID=2
3、首先進入數據庫,找到你的數據庫,如果不知道你的網站集對應哪個數據庫,建議去CA(管理中心)查看,然后找到UserInfo表,如下圖:
4、首先通過查詢語句,找到ID為2的數據,然后看到tp_Login是登陸名,tp_Title是Name值,tp_Email是電子郵件地址,如下圖:
我們可以執行如下的更新語句,進行更新,如下:
UPDATE [TestResult].[dbo].[UserInfo] set tp_Title='linyu' where tp_ID=2
5、有些情況更新了UserInfo表之后,用戶信息就已經更新了,但是有些特殊情況,還需要更新用戶信息列表,就要更新AllUserData表了,如下圖:
6、首先通過一條查詢語句,找到我們要更新用戶,如下圖:
7、主要更新的字段就是tp_ColumnSet,我們可以點開查看里面的xml,如下圖:
8、執行一條更新語句,就可以更新為我們需要的個人信息,如下:
Update [WSS_Content_Data].[dbo].[AllUserData] set tp_ColumnSet =' <bit2>1</bit2> <bit3>0</bit3> <bit4>0</bit4> <bit5>1</bit5> <nvarchar1>jianyu yang</nvarchar1> <nvarchar3>domain\jianyu yang</nvarchar3> <nvarchar4>jianyu.yang@email.com.cn</nvarchar4> <nvarchar13>Jianyu</nvarchar13> <nvarchar14>Yang</nvarchar14> <nvarchar16>jianyu yang</nvarchar16> <nvarchar19>34</nvarchar19>' where tp_ListId='01E9CCA7-41EE-43A5-96A0-3A91A9E9CE3D' and tp_ID=2
總結
自己在使用中遇到需要更新User信息的時候,又沒有同步服務,不得已而為之,特此做下記錄,方便以后修改,也希望對有需要的人有幫助。
好了,就到這里,休息,休息一下。。