Я хотел бы, чтобы CRM запрашивал активный каталог и возвращал все найденные им результаты, скажем, «имя». так, например: я типа в 'Томь' на поле, нажмите кнопку поиска, и возвращает соответствующий XML для:Запрос Active Directory в CRM Dynamics 2011
Tom.Smith, Tom.Jones, Tom.Tonks и т.д.
I «Мы читаем, и следующий код позволяет мне искать по имени пользователя, например '' Tom.Jones
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/АД/ищут на этом фронте. Кто-нибудь знает, существуют ли поисковые термины, отличные от «domainAccountName»?
В конце я написал сайт, основанный на Iframe, который выдал себя за администратора и запросил AD. Это было полезно в моем случае, так как это позволило мне запросить статус Lync против статуса запроса AD с помощью объекта ActiveX на стороне клиента. –