SharePoint 2016 オンプレミス環境におけるユーザー プロファイルの変更に対する制限事項
こんにちは 。 SharePoint サポートの 藤野 です。
今回の投稿では、SharePoint 2016 オンプレミス環境におけるユーザー プロファイルの変更に対する制限事項について記載いたします。
【対象製品】
SharePoint 2016 オンプレミス
【概要】
現在 (2017/6/8 時点) の SharePoint 2016 オンプレミス環境では、PeopleManager クラスの SetSingleValueProfileProperty メソッドを使用したクライアント側からのユーザー プロファイルの変更には対応しておりません。
SharePoint Online では PeopleManager クラスの SetSingleValueProfileProperty メソッドを使用することで、クライアント側からユーザー プロファイルを変更する機能を提供しています。
タイトル : PeopleManager.SetSingleValueProfileProperty method
現在の SharePoint 2016 オンプレミス環境においても上記メソッドが定義上提供されておりますが、SharePoint Online での使用を想定されたものであり、SharePoint 2016 オンプレミス環境では上記メソッドを使用した書き込みには対応しておりません。
SharePoint 2016 オンプレミス環境では SharePoint Online で実装されたコードをもとに実装されておりますが、SharePoint Online 向けの実装に依存する個所があり、SharePoint 2016 オンプレミス環境で対応させることが現実的に困難と判断されたため、上記メソッドを使用した書き込みが実行されない動作となっております。
この動作は、SharePoint 2016 オンプレミス環境で使用可能な Client Object Model や JavaScript Object Model の他、REST サービスにおいても共通の制限事項となります。
なお、SharePoint 2016 オンプレミス環境で上記メソッドを使用した場合、SharePoint 診断ログに以下のエラー内容が記載されます。
<診断ログに記載される内容>
w3wp.exe (0x0574) 0x0EA4 SharePoint Portal Server User Profiles aw2z4 Medium ProfilePropertiesCSOM flight is enabled : False
w3wp.exe (0x0574) 0x0EA4 SharePoint Portal Server User Profiles aw2zm Medium PeopleManager.SetSingleValueProfileProperty(accountName=i:0#.w|spsadmin,propertyName=department) - Profile Write CSOM Flight is not enabled.
本来 SharePoint Online 向けに提供されたメソッドが、現在のSharePoint 2016 オンプレミス環境でもお客様の環境で使用可能な状況であるため、本記事にて製品の制限事項としてご案内させていただきました。
【代替案】
SharePoint オンプレミスの環境でクライアント側からのユーザー プロファイルを変更するご要件がある場合は、User Profile Web Service を利用することができますので、以下の記事をご参考ください。
タイトル : [方法] Web サービスを使用してユーザー プロファイル データを変更する
アドレス : https://msdn.microsoft.com/ja-jp/library/office/ms544240(v=office.14).aspx
今回の投稿は以上となります。