sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

时间:2023-03-09 05:31:48
sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

在此前写了两篇文章sharepoint 的UserProfile博客

sharepoint 2010 获取用户信息UserProfile方法

sharepoint 2010 怎样用SocialCommentManager获取记事板评论数据

这里顺便记录一下,怎样通过程序,来更新UserProfile的属性所相应的字段值。

1.引用几个dll.

Microsoft.Office.Server.dll,

Microsoft.Office.Server.UserProfiles.dll

Microsoft.Sharepoint.dll

2.创建一个控制台应用程序。

在Main方法中,运行例如以下方法。

SPSecurity.RunWithElevatedPrivileges(delegate()

{

try

{

using (SPSite site =
newSPSite(BasePage.siteURL))//serverUrl

{

SPServiceContext context =
SPServiceContext.GetContext(site);

UserProfileManager profileManager =
newUserProfileManager(context);

string sAccount =
"dev\\chenxinxian";//域名\username

UserProfile u =profileManager.GetUserProfile(sAccount);

u[PropertyConstants.FirstName].Value =
"新贤";//名字

u[PropertyConstants.LastName].Value =
"陈";//姓氏

u.DisplayName =
"陈新贤";

u.Commit();

}

}

catch (UserNotFoundException exception)

{

Console.WriteLine(exception.ToString());

}

});

可是我们发现。在运行的过程中,会出现一个错误。

UserProfileApplicationNotAvailableException_Logging :: UserProfileApplicationProxy.ApplicationProperties ProfilePropertyCache does not have b01f37cc-f782-4f02-85a3-62ec01eb113c

sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

这个错误。经过各方面的资料查找,终于发现,是由于权限的问题。解决这个错误的方法,例如以下:

sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbnhpbnhpYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

接下来,把新增加的帐号。勾选中全然控制.点击确定。

sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2hlbnhpbnhpYW4=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

最后我们发现,我们更新的用户信息,已经更新到UserProfile了。

sharepoint 2013 更改用户配置文件属性值的方法 modify user profile

这是关于sharepoint 的userprofile更新数据的程序。

版权声明:本文博主原创文章。博客,未经同意不得转载。