javascript - 在 CRM Dynamics 2011 中查询 Active Directory

标签 javascript xml active-directory dynamics-crm-2011 crm

我希望 CRM 查询事件目录并返回它找到的所有结果,例如“名字”。例如:我在字段中输入“Tom”,单击搜索按钮,它会返回相关的 XML:

汤姆·史密斯、汤姆·琼斯、汤姆·唐克斯等

我已经阅读了周围的内容,以下代码使我能够搜索用户名,例如“汤姆·琼斯”

var oCommand=new RemoteCommand("UserManager","RetrieveADUserProperties");   
if(oCommand!=null)   
{   
  oCommand.SetParameter("domainAccountName","Tom.Jones");   
  var oResult=oCommand.Execute();   
  if(oResult.Success&&!IsNull(oResult.ReturnValue)&&oResult.ReturnValue.length>0)   
  {   
    var firstName = "";   
    var lastName ="";     
    for(
      var oUserXmlDoc=loadXmlDocument(oResult.ReturnValue),
      oNodeList=oUserXmlDoc.documentElement.childNodes,i=0;
      i<oNodeList.length;
      i++      
    )  
    {  
      var oNode=oNodeList.item(i);  
      if (oNode.tagName == "firstname")  
      {  
        firstName = oNode.text;  
      } else if(oNode.tagName == "lastname") {  
        lastName = oNode.text;  
      }  
    }  
  }  
}          

(来源:Technocratica)

但只有在输入了正确的用户名时才会返回结果。

实际上,我需要查询以下内容:

  oCommand.SetParameter("domainAccountFirstName","Tom.Jones");

但我不知道 CRM/AD 在这方面正在寻找什么。有谁知道除了“domainAccountName”之外是否还有其他搜索词?

最佳答案

我们有类似的需求,但我们也有非常多的用户。我们的方法涉及通过在 CRM 中创建自定义“域联系人”实体并每晚更新该实体来利用 CRM。这使得我们的最终用户能够使用 CRM 中已有的快速查找、 View 和其他工具。最重要的是,最终用户可以在搜索中使用通配符。

为了促进这一点,我们最终编写了一个单独的应用程序,该应用程序每晚查询一次 AD 并填充 SQL 数据库。然后,我们使用从重复发生的工作流程中调用的自定义工作流程步骤来查询数据库并根据需要更新 CRM。

虽然我们的目标是防止针对 AD 的大型查询对我们的环境产生不利影响,但我们最终为最终用户提供了一些出色的工具,而只需维护少量代码。

关于javascript - 在 CRM Dynamics 2011 中查询 Active Directory,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18590427/

相关文章:

php - 使用 PHP 将多级 XML 加载到 MYSQL

xml - 如何使用 XSLT 对连续数字进行分组

powershell - 如何使用 Get-ADComputer 过滤器获取所有部分匹配项?

c# - 如何访问 GroupPrincipal 对象上的备注字段

c# - Active Directory 通知 - 如何判断更改是否为新用户

javascript - Angular SVG 操作在 IE10 中不起作用

javascript - HTML 下载 电影下载链接

javascript - 为什么我无法在 v3 中将普通变量转换为 jQuery 对象?

javascript - 为什么重定向 404 错误会导致 js 文件返回 HTML?

xml - 如何强制将每个双引号“转义为 XML 字符实体”