VB6获取Active Directory域列表 [英] VB6 Get List of Active Directory Domains

查看:331
本文介绍了VB6获取Active Directory域列表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

使用VB6,是有可能得到在Active Directory中的所有可用域的列表?

Using VB6, is it possible to get a list of all available domains in active directory?

谢谢, 亚历克斯

推荐答案

添加ActiveDS类型库引用,和ADO到项目中。

Add references for ActiveDS type library, and ADO to your project.


Sub GetDomains()
   Dim objRootDSE As IADs
   Dim objBase As IADs
   Dim path As String
   Dim rsDomains As ADODB.Recordset
   Dim cnADS As ADODB.Connection
   Dim cmdCommand As ADODB.Command

   Set objRootDSE = GetObject("LDAP://rootDSE")
   path = "LDAP://" & objRootDSE.Get("rootDomainNamingContext")
   Set objBase = GetObject(path)

   Set cnADS = New ADODB.Connection
   cnADS.Provider = "ADsDSOObject"
   cnADS.Open "ADSI"

   Set cmdCommand = New ADODB.Command
   cmdCommand.ActiveConnection = cnADS
   cmdCommand.Properties("searchScope") = ADS_SCOPE_SUBTREE
   cmdCommand.CommandText = "SELECT Name, distinguishedName FROM '" & objBase.ADsPath & "' WHERE objectCategory = 'domain'"
   Set rsDomains = cmdCommand.Execute

   Do While rsDomains.EOF = False
      List1.AddItem (rsDomains!Name)
      rsDomains.MoveNext
   Loop

End Sub

我只有一个域反对,所以我希望你会需要让我知道,如果它得到的所有领域,为您进行测试。另请注意,我没有加入错误处理

这篇关于VB6获取Active Directory域列表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆