2014年6月27日 (金)

カスタム タイマージョブ展開時の注意事項

カスタム タイマージョブ開発を行う場合の、SharePoint 2010 および 2013 共通の注意事項について記載しておきます。

カスタム タイマージョブの登録は、サイト コレクションなどのフィーチャーの Activated イベントなどを使って行いますが、当該フィーチャーを非アクティブ化した後で再びアクティブ化しようすとるとエラーが発生してアクティブ化できなくなることがあります。

ULSログを確認すると、次のような「アクセスが拒否されました」というエラー情報のエントリーが確認できます。

2014-06-26 17-38-56

この事象については、マイクロソフト社の KB に情報が公開されていますので詳細は下記を確認してください。

SharePoint 2010 から導入された新しいセキュリティ機能の影響で、Microsoft.SharePoint.Administration 名前空間内の SPPersistedObject から派生したオブジェクトへのあらゆる変更はブロックされ、コンテンツを保持するWebアプリケーション側から構成データベースを更新することは許可されないようになっています。この新しい機能は、SPWebServie.RemoteAdministratorAccessDenied プロパティで制御されています。

そのため、こうしたエラーが発生した場合は、必要に応じてWindows PowerShell などを使って、このプロパティ値を false に変更し、IISReset を行います。

[SharePoint管理シェルの例]


#RemoteAdministratorAccessDenied プロパティを確認する
>$contentService=[Microsoft.SharePoint.Administration.SPWebService]::ContentService
>$contentService.RemoteAdministratorAccessDenied
#この機能をオフにする
>$contentService.RemoteAdministratorAccessDenied=$false
>$contentService.Update()
>IISRESET

トラックバック

このページのトラックバックURL: http://bb.lekumo.jp/t/trackback/718613/34255535

カスタム タイマージョブ展開時の注意事項を参照しているブログ:

コメント