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