SharePoint 2010中有什么方法可以在所有用户中获得属性的独特价值?例如,我想要配置文件商店中所有部门的列表。

在SQL中,我可以做

SELECT DISTINCT(PropertyVal) FROM [ProfileDB].[dbo].[UserProfileValue]
WHERE PropertyID = 14

但是访问SQL数据库当然是一个很大的禁忌,所以我想知道对象模型中是否有东西?

请注意,在SPSITE上访问用户信息列表还不够好,因为只有所有用户中只有一小部分在该列表中。我想直接从配置文件商店获得它。

我不想循环浏览userProfileManager,因为a)它是sloooow,b)需要提高权限,即使是spsecurity。

在我写一个执行此操作的计时器工作之前,还有其他方法可以做到吗?

有帮助吗?

解决方案 2

最终直接查询Active Directory,因为SharePoint 2010用户配置文件商店无法有效查询。

其他提示

据我所知,这只能通过选择字段来完成。对于像部门这样的事情,您可能必须通过配置文件进行迭代。

许可以下: CC-BY-SA归因
scroll top