SharePoint 2013 /SharePoint Online 検索 - 管理されたメタデータでの絞り込み
SharePoint Server 2013 June 9, 2015 CU リリース

[SP2013] ユーザープロファイル プロパティの操作時のエラー対応

SharePoint API を使って次のように、ProfilePropertyManager オフジェクトを取得しようとする際に、例外が発生することがあります。下記例は C# で記述していますが、そのほかに Windows PowerShell を使用する場合にも該当します。


...
  using (SPSite site = new SPSite(url)) {
                //ランタイムサービスのコンテキストの取得
                SPServiceContext context = SPServiceContext.GetContext(site);

                try
                {
                    ProfilePropertyManager profilePropManager =
                        new UserProfileConfigManager(context).ProfilePropertyManager;
...

エラーの内容は次の通りです。

2015-05-29 2-42-05

"UserProfileApplicationNotAvailableException_Logging::
UserProfileApplicationProxy.ApplicationProperits ProfilePropertyCache
does not have {GUID}

これは、ユーザー プロファイル サービス アプリケーション上でコードを実行するアカウントに適切な権限が付与されていないことが原因であるようです。たとえば、私の環境では次のようになっています。

[確認手順]

  1. サーバー全体管理サイトにアクセスする。
  2. サービス アプリケーションの管理ページにアクセスする。
  3. ユーザー プロファイル サービス アプリケーションを選択し、[権限]をクリックする。
    2015-05-31 17-18-49

 コード実行アカウントは contoso\administrator なのですが、ファームアカウントとサービスアプリケーション用のアカウントの2につのみフル コントロール権限が付与されている状態です。

2015-05-31 17-20-34

ここに contoso\administrator アカウントを追加し、フル コントロール権限を付与します。

2015-05-31 17-21-37

以上で問題が解決するはずです。

コメント

コメントの確認

コメントのプレビュー

プレビュー中です。コメントはまだ投稿されていません。

処理中...
コメントを投稿できませんでした。エラー:
コメントを投稿しました。コメントは記事の投稿者が承認してから表示されます。 さらにコメントを投稿する

入力された文字と数字は画像と一致していません。再度入力してください。

最後に、下の画像の中に見える文字と数字を入力してください。これはプログラムを使ってコメントを自動的に投稿するのを防ぐために行われています。

画像を読み取れない場合は 別の画像を表示してください。

処理中...

コメントを投稿

コメントは記事の投稿者が承認してから表示されます。

アカウント情報

(名前とメールアドレスは必須です。メールアドレスは公開されません。)