嗨,我昨天发布了一个问题。但是,我正在尝试查找是否可以使用 FIM 完成以下操作。
我正在从 AD 导入用户对象并导出到 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]
我正在将 AD 用户对象导入 mv:person,以下是流程规则。
到目前为止,我已经完成了工作。我想要做的是当 AD 中发生重命名时(比如用户的 distinctName 更改,如果它们被移动或它们的 cn 值更改),那么我希望 FIM 删除 sql 记录并使用新的 distinctname 值重新创建新记录对于 MemberDN 列。
是否有可能做到这一点?在元节配置代码中,我有以下内容:
void IMVSynchronization.Provision (MVEntry mventry)
{
ConnectedMA sqlAnchorRenameUser;
string mvObjectType = null;
switch (mventry.ObjectType)
{
case "SQLAnchorRenameUser":
sqlAnchorRenameUser = mventry.ConnectedMAs["SQL Anchor Rename SQLMA"];
if (sqlAnchorRenameUser.Connectors.Count == 0)
{
createAnchorRenameSQLUser(mventry, sqlAnchorRenameUser);
}
if (sqlAnchorRenameUser.Connectors.Count == 1)
{
updateAnchorRenameSQLUser(mventry, sqlAnchorRenameUser);
}
}}
void createAnchorRenameSQLUser(MVEntry mventry, ConnectedMA sqlAnchorRenameUser)
{
CSEntry csentry;
csentry = sqlAnchorRenameUser.Connectors.StartNewConnector("AnchorRenameUser");
csentry["distinguishedName"].Value = mventry["ADdistinguishedName"].Value;
try
{
csentry.CommitNewConnector();
}
catch (System.Exception Ex)
{
throw new UnexpectedDataException(Ex.Message);
}
}
void updateAnchorRenameSQLUser(MVEntry mventry, ConnectedMA sqlAnchorRenameUser)
{
CSEntry csentry;
ReferenceValue dn;
csentry = sqlAnchorRenameUser.Connectors.ByIndex[0];
dn = sqlAnchorRenameUser.EscapeDNComponent(mventry["ADdistinguishedName"].Value);
// Check to see if the distinguishedName flowing from AD has changed...
if (mventry["ADdistinguishedName"].Value.ToLower() != mventry["isRenamed"].Value.ToLower())
{
// disconnect the old object.
csentry.Deprovision();
//Now provision new connector
createAnchorRenameSQLUser(mventry, sqlAnchorRenameUser);
}
}
但它会引发错误。不工作:(
可以使用 FIM for SQL 完成类似的操作吗?从我通过互联网阅读的所有内容来看,FIM 似乎不允许重命名 SQL 的锚点。所以人们推荐的另一件事是删除记录并在 SQL 中重新创建它。这对我有用,但我正在努力配置 FIM 来做到这一点。请帮忙。
谢谢你。燃气轮机