Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从Active Directory查询的ADODB.Recordset访问[object Array of Byte]objectGUID值_Javascript_Active Directory_Activex_Adodb_Recordset - Fatal编程技术网

Javascript 从Active Directory查询的ADODB.Recordset访问[object Array of Byte]objectGUID值

Javascript 从Active Directory查询的ADODB.Recordset访问[object Array of Byte]objectGUID值,javascript,active-directory,activex,adodb,recordset,Javascript,Active Directory,Activex,Adodb,Recordset,我正在使用JavaScript和ActiveX查询Active Directory。一切都很好,但我一辈子都搞不懂如何访问[objectarray of Byte]类型的对象的值。我知道这些值在那里,因为我可以在IEs调试器窗口中看到它们 我正在使用的代码: <!DOCTYPE html> <html> <head> <script type="text/javascript"> var record

我正在使用JavaScript和ActiveX查询Active Directory。一切都很好,但我一辈子都搞不懂如何访问
[objectarray of Byte]
类型的对象的值。我知道这些值在那里,因为我可以在IEs调试器窗口中看到它们

我正在使用的代码:

<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript">
            var recordSet;
            function doIt()
            {
                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;

                ADCommand.CommandText = "<GC://DC=company,DC=com>;(&(objectCategory=person)(objectClass=user)(anr=imthenachoman));distinguishedName,objectGUID;subtree";

                var recordSet = ADCommand.Execute;

                var distinguishedName = recordSet.Fields("distinguishedName").value;
                var objectGUID = recordSet.Fields("objectGUID");

                // this works
                alert(distinguishedName);

                // according to IEs debugger, objectGUID is a of type [object Field]
                // objectGUID.value is [object Array of Byte] but I cannot figue out how to access each value in the array                

                recordSet.Close();
            }
        </script>
    </head>
    <body>
        <a href="#" onclick="doIt(); return false;">do it</a>
    </body>
</html>

var记录集;
函数doIt()
{
var ADConnection=newActiveXObject(“ADODB.connection”);
var ADCommand=newActiveXObject(“ADODB.Command”);
ADConnection.ConnectionTimeout=600;
打开(“数据源=Active Directory提供程序;提供程序=ADsDSOObject”);
ADCommand.ActiveConnection=ADConnection;
ADCommand.Properties(“页面大小”)=10000;
ADCommand.Properties(“Searchscope”)=2;
ADCommand.Properties(“超时”)=600;
ADCommand.Properties(“缓存结果”)=false;
ADCommand.Properties(“Chase转介”)=96;
ADCommand.CommandTimeout=600;
ADCommand.CommandText=“;(&(objectCategory=person)(objectClass=user)(anr=imthenanchoman));区分名称,objectGUID;子树”;
var recordSet=ADCommand.Execute;
var DifferentizedName=记录集.Fields(“DifferentizedName”).value;
var objectGUID=recordSet.Fields(“objectGUID”);
//这很有效
警报(区分名称);
//根据IEs调试器,objectGUID是[object Field]类型的
//objectGUID.value是[object Array of Byte],但我无法确定如何访问数组中的每个值
recordSet.Close();
}
IEs调试器窗口的屏幕截图,显示数据在那里。我只是不知道如何访问它


我不是一个聪明人。在发布这篇文章5分钟后,我就可以算出答案了

objectGUID = (new VBArray(objectGUID.value)).toArray();
这将把
[objectarray of Byte]
转换为JavaScript友好的整数数组