none
VB 查询 AD指定群组里的用户信息 RRS feed

  • 问题

  • 正在做一个RTX同步ldap的工具,想通过VB实现 以下几点功能

    1.用指定的用户名 与密码 连接到远程AD 服务器(指定IP)

    2.指定查询用户的过滤条件为 某安全组内的成员

    3.循环获取查询到的用户samaccount字段内容

    求实现代码

    2014年8月29日 2:20

答案

  • 正在做一个RTX同步ldap的工具,想通过VB实现 以下几点功能

    1.用指定的用户名 与密码 连接到远程AD 服务器(指定IP)

    2.指定查询用户的过滤条件为 某安全组内的成员

    3.循环获取查询到的用户samaccount字段内容

    求实现代码

    这里有一个开源的用C#写的工具 http://adsi.mvps.org/adsi/CSharp/beavertail.html

    有关取出执行组内成员并获取用户samaccount字段, 你可以参考 http://www.cnblogs.com/yiyumeng/archive/2012/01/12/LDAP.html

    虽然都是用C#写的 但是跟vb极其类似,你可以自己转换或者用转换工具。


    remember make the reply as answer and vote the reply as helpful if it helps.

    • 已标记为答案 sy790825 2014年9月1日 7:15
    2014年9月1日 2:37

全部回复

  • 正在做一个RTX同步ldap的工具,想通过VB实现 以下几点功能

    1.用指定的用户名 与密码 连接到远程AD 服务器(指定IP)

    2.指定查询用户的过滤条件为 某安全组内的成员

    3.循环获取查询到的用户samaccount字段内容

    求实现代码

    这里有一个开源的用C#写的工具 http://adsi.mvps.org/adsi/CSharp/beavertail.html

    有关取出执行组内成员并获取用户samaccount字段, 你可以参考 http://www.cnblogs.com/yiyumeng/archive/2012/01/12/LDAP.html

    虽然都是用C#写的 但是跟vb极其类似,你可以自己转换或者用转换工具。


    remember make the reply as answer and vote the reply as helpful if it helps.

    • 已标记为答案 sy790825 2014年9月1日 7:15
    2014年9月1日 2:37
  • 问题自己搞定了  用adsi+vbs 实现需求,代码如下给有需要的人,代码测试可用,str开头变量请自行替换,注意vb需要添加引用msado.dll

    虽然你的答案不是我想要的,但还是感谢你的帮助

    Dim con As New Connection
    Dim rs As New Recordset
    Dim Com As New Command

    'Open a Connection object
    con.Provider = "ADsDSOObject"
    con.Open "Active Directory Provider", "struser", "strpassword"

    'Create a command object on this connection
    Set Com.ActiveConnection = con
    Com.CommandText = "select samaccountname,department,telephoneNumber from 'LDAP://strserverip/DC=xxx,DC=com' where memberOf='CN=groupsec.rtx,OU=ServicesSyn,OU=Group,DC=XXX,DC=com'"
    '-----------------------------------------
    'Set the preferences for Search
    '--------------------------------------
    Com.Properties("Page Size") = 2000
    Com.Properties("Timeout") = 30 'seconds
    Com.Properties("searchscope") = ADS_SCOPE_SUBTREE
    '--------------------------------------------
    'Execute the query
    '--------------------------------------------
    Set rs = Com.Execute
    '--------------------------------------
    ' Navigate the record set
    '----------------------------------------

          Open "D:/2.txt" For Append As #1
             
    i = 0
    While Not rs.EOF
    Print #1, rs.Fields(0).Value & ";" & rs.Fields(1).Value & ";" & rs.Fields(2).Value & ";" & i
        i = i + 1
    rs.MoveNext

    Wend
    Close #1

    2014年9月1日 7:15