我正在创建一个用于创建AD用户对象的ASP.NET页面。我正在使用JQuery进行客户端验证(以检查用户名是否已存在)。 如果在活动目录中找到用户,我在Google上发现了一些返回用户属性的脚本(我将其转换为返回bool)。
但是,如果您通过直接双击ScriptFile.js在Visual Studio之外运行此脚本(下面),它可以正常工作,但是当您通过visual studio尝试相同时,它会在object undefined
处出现var objRootDSE = GetObject('LDAP://RootDSE');
错误
这是JavaScript函数代码:
function Search(search) {
var arrSearchResult = [];
var objRootDSE = GetObject('LDAP://RootDSE');
var strDomain = objRootDSE.Get("DefaultNamingContext");
strAttrib = "samaccountname";
objConnection = new ActiveXObject("ADODB.Connection");
objConnection.Provider = "ADsDSOObject";
objConnection.Open("ADs Provider");
objCommand = new ActiveXObject("ADODB.Command");
objCommand.ActiveConnection = objConnection;
var Dom = "LDAP://" + strDomain;
var arrAttrib = strAttrib.split(",");
objCommand.CommandText = "Select '" + strAttrib + "' From '" + Dom + "' WHERE objectCategory = 'user' AND objectClass='user' AND samaccountname='" + search + "' ORDER BY samaccountname ASC";
try {
objRecordSet = objCommand.Execute();
objRecordSet.Movefirst;
while (!(objRecordSet.EoF)) {
var locarray = new Array();
for (var y = 0; y < arrAttrib.length; y++) {
locarray.push(objRecordSet.Fields(y).value);
}
arrSearchResult.push(locarray); objRecordSet.MoveNext;
}
return arrSearchResult;
}
catch (e)
{ alert(e.message); }
}
请建议如何在Visual Studio中进行此项工作或以其他方式检查用户是否存在于AD 来自客户端。