Информация извлечения кода из AD вводит пользователей и объекты в несколько различных OU, как отфильтровать объекты - PullRequest
0 голосов
/ 23 апреля 2019

Извиняюсь за беспорядок, мой код ...

Я использую код для создания каталога сотрудника из AD. Это довольно просто, но моя AD имеет пользователей и объекты в разных OU. Я хочу запустить if, который говорит что-то вроде «если sn - ноль, цикл», но я знаю, что не совсем правильно ввел синтаксис.

Должен ли оператор sql отфильтровывать эту информацию или код при запуске цикла? Текущий оператор SQL: «выберите заданное имя, sn, title, mail, номер телефона, мобильный, sAMAccountName FROM« + usersOU + », где sAMAccountname = '*' ORDER by sAMAccountname« Я обнаружил, что SN и title являются пустыми атрибутами AD ,

    <h1>Company Directory</h1>

        <%
        ' Define the AD OU that contains our users
        usersOU = "LDAP://OU=xxx,DC=xxx,DC=com"    
        ' Make AD connection and run query
        Set objCon = Server.CreateObject("ADODB.Connection")
        objCon.provider ="ADsDSOObject"
        objCon.Properties("User ID") = "xxx"
        objCon.Properties("Password") = "xxx"
        objCon.Properties("Encrypt Password") = TRUE
        objCon.open "Active Directory Provider"
        Set objCom = CreateObject("ADODB.Command")
        Set objCom.ActiveConnection = objCon
        objCom.CommandText ="select givenName,sn,title,mail,telephonenumber,mobile,sAMAccountName FROM '"+ usersOU +"' where sAMAccountname='*' ORDER by sAMAccountname"
        Set objRS = objCom.Execute
        ' Loop over returned recordset and output HTML
        Response.Write "<table border=1>" + vbCrLf
            Do While Not objRS.EOF Or objRS.BOF
                    Response.Write "  <tr>"
                        Response.Write "<td>" + objRS("givenName") +  " " 
                        + objRS("sn") + "<br>" + objRS("title") + "<br>" 
                        + objRS("sAMAccountName") + "</td>"
                        Response.Write "<td>" + objRS("mail") + "<br>"
                        Response.Write  + objRS("telephonenumber") + " 
                        <br>"
                        Response.Write  + objRS("mobile") + "</td>"
                        Response.Write "</tr>" + vbCrLf
                        objRS.MoveNext
                        Response.Flush

            Loop
        Response.Write "</table>"
        ' Clean up
        objRS.Close
        objCon.Close
        Set objRS = Nothing
        Set objCon = Nothing
        Set objCom = Nothing
        %>

Я хочу список только людей с именем, названием, адресом электронной почты, номером телефона, номером мобильного телефона. Я не хочу никаких DL или компьютеров из AD.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...