如何从SharePoint 2010中的UserProfileManager检索ZipCode?

时间:2014-10-07 13:43:30

标签: c# sharepoint

我需要知道如何从Active Directory中检索ZipCode。目前,我可以获取UserDepartment,但我无法检索ZipCode

docs中,我无法将ZipCode视为财产:

这是我在C#中的代码:

using(SPSite site = new SPSite("Server"))
{
    site.AllowUnsafeUpdates = true;
    SPServiceContext context = SPServiceContext.GetContext(site);
    UserProfileManager upm = new UserProfileManager(context);
    UserProfile profile = upm.GetUserProfile(GetNodeValue("xPath"));
    String department = profile[PropertyConstants.Department].Value.ToString();
    String position = profile[PropertyConstants.Title].Value.ToString();
    String zipCode = profile[PropertyConstants.?????].Value.ToString();
}

1 个答案:

答案 0 :(得分:1)

您需要先在User Profile Service应用程序中手动映射它。

可以在管理中心添加属性 - >管理服务应用程序 - >用户个人资料服务应用程序 - >管理用户属性 - >添加用户个人资料属性 - >选择邮政编码属性。

现在您可以运行另一个同步,每个用户都应该映射此属性。然后,您可以像使用指定的字符串名称一样访问它:

String zipCode = profile["SPS-ZipCode"].Value.ToString();

enter image description here