Active Directory C#在部署时无法设置扩展属性

时间:2017-01-17 13:47:24

标签: c# active-directory

我正在尝试以编程方式在Active Directory中设置属性。它在本地运行时有效,但是,当我在IIS服务器上部署它时,它会无声地失败。

我的代码如下:

try
{
      using (PrincipalContext context = new PrincipalContext(ContextType.Domain, null, _DomainDN))
      {
           DirectoryEntry searchRoot = new DirectoryEntry("LDAP://DC=-----,DC=-----,DC=-----");
           DirectorySearcher search = new DirectorySearcher(searchRoot);
           search.Filter = "(&(objectClass=user)(userPrincipalName=";
           search.Filter = search.Filter + upn + "))";
           search.SearchScope = SearchScope.Subtree;

           SearchResultCollection rs = search.FindAll();

           foreach (SearchResult r in rs)
           {
               DirectoryEntry entryToUpdate = r.GetDirectoryEntry();
               entryToUpdate.Properties["extensionAttribute1"].Value = "1";
               entryToUpdate.CommitChanges();
           }
      }
}
catch(Exception e)
{
    //.....FAILS SILENTLY. NO ERROR THROWN
}

如果有人对此有解决方案,我将非常感激。

谢谢!

1 个答案:

答案 0 :(得分:1)

您确定在托管IIS的计算机上通过服务器管理器安装了所有Active Directory服务吗?他们需要运行才能使LDAP查询正常运行。 感谢

相关问题