转载自:http://www.cnblogs.com/jianyus/p/4269990.html
在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是电子邮件地址,如下图:
我们可以执行如下的更新语句,进行更新,如下:
1
|
UPDATE
[TestResult].[dbo].[UserInfo]
set
tp_Title=
'linyu'
where
tp_ID=2
|
5、有些情况更新了UserInfo表之后,用户信息就已经更新了,但是有些特殊情况,还需要更新用户信息列表,就要更新AllUserData表了,如下图:
6、首先通过一条查询语句,找到我们要更新用户,如下图:
7、主要更新的字段就是tp_ColumnSet,我们可以点开查看里面的xml,如下图:
8、执行一条更新语句,就可以更新为我们需要的个人信息,如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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
|
本文转自 yuxye 51CTO博客,原文链接:http://blog.51cto.com/fishvsfrog/1770124