SharePoint 2010、ユーザープロパティの明確な値を取得しますか?
-
16-10-2019 - |
質問
SharePoint 2010では、すべてのユーザーでプロパティの明確な値を取得する方法はありますか?たとえば、プロフィールストアのすべての部門のリストが必要です。
SQLでできる
SELECT DISTINCT(PropertyVal) FROM [ProfileDB].[dbo].[UserProfileValue]
WHERE PropertyID = 14
しかし、SQLデータベースにアクセスすることはもちろん大きなノーではないので、オブジェクトモデルに何かがあるのだろうか?
SPSiteでユーザー情報リストにアクセスするだけでは十分ではないことに注意してください。すべてのユーザーのほんの一部がそのリストに含まれているためです。プロフィールストアから直接入手したいです。
a)sloooow and b)spsecurity.runwithedededpermissionsが提供しないため、sloooowとb)権限を高める必要があるため、私はuserprofilemanagerをループしたくありません。
それを行うタイマージョブを書く前に、それを行う他の方法はありますか?
解決 2
SharePoint 2010ユーザープロファイルストアには効率的にクエリを行う方法がないため、Active Directoryを直接照会することになりました。
他のヒント
私が知っている限り、これは選択フィールドでのみ行うことができます。部門のようなものについては、プロファイルを繰り返す必要があります。
所属していません sharepoint.stackexchange