c#引用FIM中的字符串

时间:2016-09-14 14:44:53

标签: c#

我正在为Microsoft Identity Manager(FIM / MIM)编写规则扩展并遇到问题。 我想要的是: 我有一个属性"经理"这是对用户管理器的引用。我需要查找此属性并使用管理员帐户名填充MS AD中的另一个属性。 我有一个必须工作的代码,但我收到错误

  

System.InvalidOperationException:无法访问属性管理器。 MV对象上无法访问的引用值。       在Microsoft.MetadirectoryServices.Impl.AttributeImpl.get_Value()       在C:...... HRExt.cs:第213行的Mms_ManagementAgent_HRExt.MAExtensionObject.Microsoft.MetadirectoryServices.IMASynchronization.MapAttributesForImport(String FlowRuleName,CSEntry csentry,MVEntry mventry)

此时

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 个答案:

没有答案