1

我正在做一个 FIM 2010R2 同步引擎项目,我将 AD 用户导入 FIM 并将一些信息导出到 SQL 表。我已经编写了配置代码,它工作正常。

这是我的目标 SQL 表。

CREATE TABLE [dbo].[tbl_FGPP_Members](
    [MemberObjectGUID] [varbinary](50) NULL,
    [MemberDN] [nvarchar](255) NOT NULL,
    [MemberObjectType] [nvarchar](10) NOT NULL,
    [Member_ADDomain] [nvarchar](16) NULL,
    [Member_sAMAccountName] [nvarchar](64) NULL
) ON [PRIMARY]

在 SQL 的 FIM 管理代理上,我将 MemberDN 设置为锚点。这意味着我只能从配置代码中写入,而不能将广告用户的专有名称直接传递给它。

但是,在广告用户信息登陆 SQL 后,如果该广告用户在广告中被重命名或移动,它的 distinctName 会发生变化。当我重新导入这些更改时,我希望 FIM 能够更新 MemberDN 列。由于我不能为此设置流规则(因为它说 MemberDN 是只读的),所以当我满足 mvobject 的以下条件时,我尝试从配置代码中执行以下操作。

    if(sqlFGPPUser.Connectors.Count == 1)
{
 updateFGPPUsersInSQL(mventry, sqlFGPPUser);
}

功能是:

void updateFGPPUsersInSQL(MVEntry mventry, ConnectedMA sqlFGPPUser)
        {
            CSEntry csentry;
            ReferenceValue dn;

            csentry = sqlFGPPUser.Connectors.ByIndex[0];
            dn = sqlFGPPUser.EscapeDNComponent(mventry["ADdistinguishedName"].Value);

            if (mventry["ADdistinguishedName"].Value.ToLower() != csentry.DN.ToString().ToLower())
            {
                try
                {
                    csentry.DN = dn;
                }
                catch (Exception Ex)
                {
                    throw new Exception("Exception Message: Exception encountered while renaming the MemberDN " + Ex.Message.ToString());
                }
            }
        }

基本上我正在做的是检查是否发生了重命名,否则它将在每次运行同步运行配置文件时为每个 mvobject 运行它。

但是,当我运行它时出现错误。对于在广告中重命名/移动的用户,我导入这些更改,当我运行同步时,我得到:

System.Exception: Exception Message: Exception encountered while renaming the MemberDN attribute MemberDN is read-only
    at Mms_Metaverse.MVExtensionObject.updateFGPPUsersInSQL(MVEntry& mventry, ConnectedMA& sqlFGPPUser) in D:\FIM C# Code\FGPP100\FGPP100\MVExtension\MVExtension.cs:line 526
    at Mms_Metaverse.MVExtensionObject.Microsoft.MetadirectoryServices.IMVSynchronization.Provision(MVEntry mventry) in D:\FIM C# Code\FGPP100\FGPP100\MVExtension\MVExtension.cs:line 566

如何使用更新的 AdDistinguishedName 更新 MemberDN 列?:(

谢谢你。燃气轮机

4

0 回答 0