SSIS - >更新Active Directory访问被拒绝的异常

时间:2014-11-25 09:24:10

标签: c# ssis active-directory sql-server-2014 sql-server-data-tools

我正在使用SSIS更新活动目录条目。起初我使用了一个处理过罚款的脚本组件。然后我尝试通过将更新放入脚本组件来优化控制流,并且当它开始时我得到了“访问被拒绝”异常。经过测试后,我放弃了这个想法并试图回到原来的脚本任务,但现在我也遇到了同样的例外。

在与sys管理员讨论后,我发现了以下内容:

  • 我的AD用户一直拥有适当的权利,并且权利在工作时没有改变
  • 在使用原始代码进行的其中一次测试失败期间,他们给了我管理员权限但对例外没有影响

调用CommitChanges后立即发生异常。代码本身是我在PC上从visual studio运行的SSIS包的一部分,因此就我所知,它应该使用我的用户。

源代码示例:

DirectoryEntry searchroot = new DirectoryEntry("LDAP://XXXXXX.com");
using (DirectorySearcher searcher = new DirectorySearcher(searchroot, 
        "(&(objectClass=user)(sn=MySN))", new string[] {"info"}, SearchScope.Subtree))
{
    var result = searcher.FindOne();
    DirectoryEntry upd = new DirectoryEntry(result.Path);
    upd.Properties["info"].Value = "myTest";
    upd.CommitChanges();
    upd.Close();
}

带有MySN的sn只产生一个结果。另外作为信息:我正在使用SQL数据工具2014和visual studio 2013

就像我说的那样,我的用户的权利没有改变,甚至给我的用户管理员权限也没有处理异常(尽管相同的代码工作时间很短)。所以我的问题是:什么可能导致问题,因为我真的没有想法(或者可能是因为我在那里使用我的用户而误解了SSIS?)。

更新: 今天代码没有任何更改代码或AD再次工作oO我真的想知道什么可能导致问题,因为我绝对没有得到它,它似乎不稳定我到目前为止未知的原因。

1 个答案:

答案 0 :(得分:0)

在Active Directory上拥有正确的权限吗?要修改Active Directory中的属性,您需要复制目录更改,包括DomainAdmin不一定有权修改Scheme的属性:

要授予“复制目录更改”权限,您可以按照下一篇文章操作:
https://support.microsoft.com/kb/303972/en-us