同行审查我的ActiveDirectory+LDAP查询JavaScript代码

同行审查我的ActiveDirectory+LDAP查询JavaScript代码,javascript,active-directory,ldap,Javascript,Active Directory,Ldap,不确定StackOverflow上是否允许此操作。。。我希望有人能/会审查我的JavaScript代码,看看这是否可以,或者是否有更好的方法来做这些?代码可以工作,但这是我第一次尝试使用JS查询AD,并认为一些同行评审可能会有成效 var ADConnection = new ActiveXObject( "ADODB.connection" ); var ADCommand = new ActiveXObject( "ADODB.Command" ); ADConnection.Connec

不确定StackOverflow上是否允许此操作。。。我希望有人能/会审查我的JavaScript代码,看看这是否可以,或者是否有更好的方法来做这些?代码可以工作,但这是我第一次尝试使用JS查询AD,并认为一些同行评审可能会有成效

var ADConnection = new ActiveXObject( "ADODB.connection" );
var ADCommand = new ActiveXObject( "ADODB.Command" );

ADConnection.ConnectionTimeout = 600;
ADConnection.Open( "Data Source=Active Directory Provider;Provider=ADsDSOObject" );
ADCommand.ActiveConnection = ADConnection;
ADCommand.Properties( "Page Size" ) = 10000;
ADCommand.Properties( "Searchscope" ) = 2;
ADCommand.Properties( "Timeout" ) = 600;
ADCommand.Properties( "Cache Results" ) = false;
ADCommand.Properties( "Chase Referrals" ) = 96;
ADCommand.CommandTimeout = 600;

var ou = "DC=company,DC=com";
var filter = "....";
var fields = "name";
var level = "sublevel";

var queryType = fields.match( /memberof/ig ) ? "LDAP" : "GC";

ADCommand.CommandText = "<" + queryType + "://" + ou + ">;" + filter + ";" + fields + ";" + level;

var recordSet = ADCommand.Execute;

fields = fields.split( "," );

var data = [];

while(!recordSet.EOF)
{
    var rowResult = { "length" : fields.length };
    var i = fields.length;
    while(i--)
    {
        var fieldName = fields[i];

        if(fieldName == "directReports" && recordSet.Fields(fieldName).value != null)
            rowResult[fieldName] = true;
        else
            rowResult[fieldName] = recordSet.Fields(fieldName).value;
    }

    data.push(rowResult);
    recordSet.MoveNext;
}

recordSet.Close();

尝试堆栈交换。确实如此。添加更多关于代码功能的描述,并在code Review上发布。谢谢@SimonAndréForsberg