以前写过一段脚本是从AD域中查询AD用户信息。但是如果从WorkGroup上就无法得到结果了。下面的一段脚本可以实现从WorkGroup查询域账户信息。
注意:运行之前先将DC服务器以及账户名和密码替换,然后保存成VBS。如果要查询其他信息可以更改对应的Filter,category和Class.
Option Explicit
Dim objRootDSE, strDNSDomain, adoCommand, adoConnection
Dim strBase, strFilter, strAttributes, strQuery, adoRecordset
Dim strDN, objNS, strServer
Const ADS_SECURE_AUTHENTICATION = &H1
Const ADS_SERVER_BIND = &H200
' Specify a server (Domain Controller).
strServer = "Allen.home"
' Determine DNS domain name. Use server binding and alternate
' credentials. The value of strDNSDomain can also be hard coded.
Set objNS = GetObject("LDAP:")
Set objRootDSE = objNS.OpenDSObject("LDAP://" & strServer & "/RootDSE", _
strUser, strPassword, _
ADS_SERVER_BIND Or ADS_SECURE_AUTHENTICATION)
strDNSDomain = objRootDSE.Get("defaultNamingContext")
' Use ADO to search Active Directory.
' Use alternate credentials.
Set adoCommand = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Properties("User ID") = "youruser"
adoConnection.Properties("Password") = "yourPassword"
adoConnection.Properties("Encrypt Password") = True
adoConnection.Properties("ADSI Flag") = ADS_SERVER_BIND _
Or ADS_SECURE_AUTHENTICATION
adoConnection.Open "Active Directory Provider"
Set adoCommand.ActiveConnection = adoConnection
' Search entire domain. Use server binding.
strBase = "<LDAP://" & strServer & "/" & strDNSDomain & ">"
' Search forspecial users.
strFilter = "(&(objectCategory=person)(objectClass=user)(samaccountname=mycode))"
'only get display name for user
strAttributes = "name"
' Construct the LDAP query.
strQuery = strBase & ";" & strFilter & ";" _
& strAttributes & ";subtree"
' Run the query.
adoCommand.CommandText = strQuery
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 30
adoCommand.Properties("Cache Results") = False
Set adoRecordset = adoCommand.Execute
' Enumerating theresult(for me only have one result)
Do Until adoRecordset.EOF
' Retrieve values.
strDN = adoRecordset.Fields("name").Value
Wscript.Echo strDN
adoRecordset.MoveNext
Loop
' Clean up.
adoRecordset.Close
adoConnection.Close
更多信息可以参考:
Searching with ActiveX Data Objects (ADO)
http://msdn.microsoft.com/en-us/library/Aa746471.aspx
Search Filter Syntax
http://msdn.microsoft.com/en-us/library/Aa746475.aspx
分享到:
相关推荐
PDM workgroup教程PDM workgroup教程PDM workgroup教程PDM workgroup教程PDM workgroup教程PDM workgroup教程PDM workgroup教程
基于Macos10.9.5的workgroup manager, 可以对域账号管理与做偏好限制
Windows for WorkGroup 3.11 简体中文版
Microsoft SQL Server 2000 Workgroup Edition (Simplified Chinese) ,可做收藏、学习、研究。
SQL Server 2008 Workgroup Edition (Simplified Chinese)开发版/企业版/个人版/标准版/原版iso
Windows for WorkGroup3.11 英文版原版。特殊设备适用,比如手持及智能设备,带网络支持。 MD5: E3CF1A784EDE7C9D5729FB1D274125CC SHA-1: 49840FB0107532A1349FD506353407F049FECC06 1994年2月15日微软公司发行了...
RELEASE NOTES FOR MICROSOFT(R) TCP/IP-32 FOR WINDOWS(TM) FOR WORKGROUPS 3.11 PLEASE READ THIS ENTIRE DOCUMENT General ------- This product is compatible with, and supported exclusively on, the ...
SQL Server 2000 Workgroup Edition (Simplified Chinese)开发版/企业版/个人版/标准版/工作组版原版iso
windows 3.11 workgroup
Workgroup Manager (WGM) 是一个 Windows 工作组管理工具,支持远程用户/组管理和工作组优化。 可以添加/编辑/删除用户和组,并且可以通过拖放将用户添加到组中。
workgroup无法访问的解决方法.docx
Windows for WorkGroup3.11 英文版 怀旧专用。特殊设备适用,比如手持及智能设备。带网络支持。
SQL Server 2005 Workgroup Edition (Simplified Chinese)开发版/企业版/个人版/标准版/免费版
SQL Server 2005 Express与Workgroup:功能丰富,价格低廉.pdf
开源项目-Urban4M-go-workgroup.zip,My little sync.WaitGroup wrapper-package
工作组应用公司的自托管社交媒体 ·内容路线图贡献执照接触 关于该项目WorkGroup是公司的...安装NPM软件包npm install 在.env输入您的配置(从WorkGroup-API克隆API ) REACT_APP_API_URL = http : //your-api-url.com
简单教你使用TFS(Visual Studio 2005 Team Foundation Server Workgroup Edition) 网页随时带,过程图教你每一步
微软最后一个DOS操作系统,光盘镜像自动安装,集成和windows3.11for workgroup和中文windows3.2,如不想用,直接删除镜像中对应文件夹即可(分卷压缩part2)
虚拟机dos 下使用 ddi.com(内含) 将所有软盘镜像全部解压至任意一个目录,运行setup安装。内含中文系统,仅供怀旧,或者你有386老机器?
微软最后一个DOS操作系统,光盘镜像自动安装,集成和windows3.11for workgroup和中文windows3.2,如不想用,直接删除镜像中对应文件夹即可(分卷压缩part1,共两卷)