你好,CB.截止目前,实现这个目的的最快、最容易的方法就是在 Active Directory 中搜索所有用户帐户。这里有一个简单的示例脚本,用来搜索 fabrikam.com 域;为了搜索您自己的域,根据需要编辑 LDAP 连接字符串(‘LDAP://dc=fabrikam,dc=com’)即可。例如,如果您的域名为 contoso.com,则应该将连接字符串修改为‘LDAP://dc=contoso,dc=com’。
On Error Resume Next
Const ADS_SCOPE_SUBTREE = 2
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
objCommand.CommandText = _
"SELECT Name FROM 'LDAP://dc=fabrikam,dc=com' WHERE objectCategory='user'"
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
Wscript.Echo objRecordSet.Fields("Name").Value
objRecordSet.MoveNext
Loop
关于这个脚本,有太多的东西需要解释;如果您对它的编写思想和具体工作原理感兴趣,而且还想在 Active Directory 中搜索其他数据,可以参阅先前的Scripting Guys Web 广播 on this very topic.