2011-02-15 74 views
3

我通過SharePoint Web服務從多個網站集檢索用戶信息。SharePoint用戶信息用戶信息列表和人員列類型

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="[email protected]" 
     Notes="" 
     IsSiteAdmin="False" 
     IsDomainGroup="False" /> 
</Users> 

我有這個問題。

我是從列表Web服務得到一個列表項和其中一個字段是一個Person列。該信息被存儲在ID的格式;#NAME

在某些情況下,從該領域的ID不存在於用戶返回該網站集,所以這裏是ID的?它來自User Profile商店嗎?

我也注意到,用於從所述用戶組web服務返回的用戶的ID是用於相同的用戶(即,相同的登錄)在不同的站點集合不同。

如果用戶配置文件同步運行將這些是一樣的嗎?

回答

2

在某些情況下,從這個 領域的ID不 返回該網站收集的用戶存在,因此 其中從ID?是否來自 用戶配置文件商店?

當用戶從AD中刪除,或者當您將內容導入到該用戶不再存在的站點或服務器場時,我遇到過這種情況。我猜猜這個人的價值是無效的。請記住,人員字段只是用戶信息列表上的查找字段。要使用戶返回(如果它們存在),請使用EnsureUser方法,但它們會得到一個新的ID,因此您必須解決這個問題。

我也注意到,對於一個 用戶ID從用戶組的Web服務 是對於同一用戶 (即相同的登錄)跨越不同 站點集合不同返回。如果用戶 配置文件同步正在運行,將這些是 相同?

這是正確的,用戶ID是每個網站集不同。這有點煩人,但它是有道理的,因爲其他明智的你將不得不在所有網站集中創建所有用戶。我相信用戶配置文件同步會查看帳戶名稱或sid進行匹配和更新。

+0

感謝您的回答。我在想這是這樣的。嘗試從SharePoint提取數據到Datamart(不要問!),並需要將用戶acorss所有網站集合平分 – statto 2011-02-15 13:43:02