2016-09-14 10 views
1

Microsoft Identity Manager(FIM/MIM)のルール拡張を作成していますが、問題があります。 私が欲しいもの: 私はユーザーマネージャへの参照である属性 "マネージャ"を持っています。この属性を探し、MS ADの別の属性にマネージャのアカウント名を設定する必要があります。 このようなコードが動作している必要がありますが、エラーが発生します。c#FIMの文字列への参照

System.InvalidOperationException:属性マネージャーにアクセスできません。参照値はMVオブジェクトからアクセスできない。 at Microsoft.MetadirectoryServices.Impl.AttributeImpl.get_Value() MMS_ManagementAgent_HRExt.MAExtensionObject.Microsoft.MetadirectoryServices.IMASynchronization.MapAttributesForImport(文字列FlowRuleName、CSEntry csentry、MVEntry mventry)in C:...... HRExt.cs:line 213

この時点で

mvMGRemployeeID = mventry["ManagerID"].Value.ToString().ToLower(); 

コードは以下の通りです:

string mvMGRemployeeID; //temp string that holds the supervisor code 
MVEntry[] mgrSearch; //Collection of MV Etriers used to perform the search forMV object based on the manager employeeID 

if (mventry["ManagerID"].IsPresent) 
{ 
    mvMGRemployeeID = mventry["MAnagerID"].Value.ToString().ToLower(); 
    mgrSearch= Utils.FindMVEntries("employeeID", mvMGRemployeeID, 1); //Is there an object with employeeID = ManagerID 

    if (mgrDNSearch.Length == 1)//if we get only one return (which we should) 
    { 
     if (mgrDNSearch[0]["accountName"].IsPresent) //get the DN of the returned object 
     { 
      csentry["manager"].Value = mgrDNSearch[0]["accountName"].Value.ToString(); 
     } 
    } 
} 
break; 

答えて

0

管理、追加したことを確認してください依存関係のrID。 と、単にあなたが行うことができます:

mvMGRemployeeID = "" + csentry["MAnagerID"].ReferenceValue; 

はあなた

ありがとう
関連する問題