SharePoint用户信息用户信息列表和人员列类型

时间:2011-02-15 11:17:42

标签: sharepoint sharepoint-2007 sharepoint-api user-profile

我正在通过SharePoint Web服务从多个网站集中检索用户信息。

http://mysitecollection.com/_vti_bin/usergroup.asmx

使用'GetAllUserCollectionFromWeb'方法返回网站集的所有用户。

以下XML是返回内容的示例。

<Users>
    <User 
        ID="108" 
        Sid="S-1-5-21-1650336054-1974872081-316617838-5403" 
        Name="Ian Curtis" 
        LoginName="JOY\division" 
        Email="ian.curtis@joydivision.com" 
        Notes="" 
        IsSiteAdmin="False" 
        IsDomainGroup="False" />
</Users>

我的问题是这个。

我从列表Web服务获取列表项,其中一个字段是Person列。信息以Id; #Name

的格式存储

在某些情况下,为该网站集返回的用户中不存在此字段中的ID,因此ID来自哪里?它来自用户配置文件存储吗?

我还注意到,从UserGroup Web服务返回的用户的ID在同一用户的不同网站集中是不同的(即相同的登录名)。

如果用户个人资料同步正在运行,那么它们是否相同?

1 个答案:

答案 0 :(得分:2)

  

在某些情况下,ID来自此   用户中不存在该字段   返回该网站集,所以   身份证在哪里?是来自   用户档案商店?

当用户从AD中删除,或者将内容导入到该用户不再存在的站点或服务器场中时,我发生了这种情况。我猜这个人的价值是无效的。请记住,person字段只是用户信息列表中的查找字段。要使用户返回(如果存在),请使用EnsureUser方法,但他们将获得一个新ID,因此您必须解决此问题。

  

我也注意到了一个ID   用户从UserGroup Web返回   服务因人而异   同一用户的网站集   (即同一登录)。如果是用户   配置文件同步正在运行   一样吗?

这是正确的,每个网站集的用户ID不同。这有点烦人,但它是有道理的,因为其他明智的你必须在所有网站集中创建所有用户。我相信用户个人资料同步会查看帐户名称或sid以进行匹配和更新。