我想使用VBScript(傳統ASP)查詢Active Directory。 我該怎麼做到這一點?使用VBScript查詢Active Directory
4
A
回答
6
看一個OU中的所有成員,試試這個...
Set objOU = GetObject("LDAP://OU=YourOU,DC=YourDomain,DC=com")
For each objMember in ObjOU ' get all the members'
' do something'
Next
要做到自定義搜索的DNS試試這個...
set conn = createobject("ADODB.Connection")
Set iAdRootDSE = GetObject("LDAP://RootDSE")
strDefaultNamingContext = iAdRootDSE.Get("defaultNamingContext")
Conn.Provider = "ADsDSOObject"
Conn.Open "ADs Provider"
strQueryDL = "<LDAP://" & strDefaultNamingContext & ">;(&(objectCategory=person)(objectClass=user));distinguishedName,adspath;subtree"
set objCmd = createobject("ADODB.Command")
objCmd.ActiveConnection = Conn
objCmd.Properties("SearchScope") = 2 ' we want to search everything
objCmd.Properties("Page Size") = 500 ' and we want our records in lots of 500
objCmd.CommandText = strQueryDL
Set objRs = objCmd.Execute
While Not objRS.eof
' do something with objRS.Fields("distinguishedName")'
objRS.MoveNext
Wend
+0
肯,如果我想獲得一個在 「sAMAccountName賦」 值特別是名字和姓氏值,根據您的第一個例子,我會做 如果ObjOU.FirstName =「阿蘭」和ObjOU.LastName =「史密斯」隨後 sVariable = ObjOU.sAMAccountName 這是正確? – Frank 2009-07-07 18:53:27
0
你想用Active Directory Service Interfaces (ADSI)
ADSI Scripting Primer是一個開始學習和找到示例的好地方。 (順便說一句,這些鏈接指的是Windows 2000,但也適用於後續版本的Windows)。
1
我必須通過oldskool用戶名查詢WinAD,這個.vbs腳本打印用戶帳戶。
- 查找SAM帳戶,使用通配符*
- 打印從每個用戶對象的幾個屬性
- 使用ACCOUNTTYPE過濾其最優化迭代AD用戶的方式對象
測試腳本首先得到一個用戶通過完全限定的字符串對象,它只是一個例子。第二部分通過smith *過濾器進行實際查詢。
WinADSearch.vbs
' c:> cscript -nologo script.vbs
' c:> wscript script.vbs
' http://msdn.microsoft.com/en-us/library/d6dw7aeh%28v=vs.85%29.aspx
' WindowsAD queries
' http://www.kouti.com/tables/userattributes.htm
Option Explicit
'On Error Resume Next
Dim StdOut: Set StdOut = WScript.StdOut
Dim objUser
Set objUser = GetObject("LDAP://CN=Firstname Lastname,OU=Internal Users,OU=MyCompany,OU=Boston,OU=Root,DC=REGION1,DC=COM")
println(objUser.givenName & " " & objUser.middleName & " " & objUser.lastName)
println("name=" & objUser.name)
println("displayName=" & objUser.displayName)
println("userPrincipalName=" & objUser.userPrincipalName)
println("sAMAccountName=" & objUser.sAMAccountName)
println("distinguishedName=" & objUser.distinguishedName)
println("")
Dim conn, strQueryDL, strAttrs, objCmd, objRs, idx
set conn = createobject("ADODB.Connection")
conn.Provider = "ADsDSOObject"
conn.Open "ADs Provider"
strAttrs = "sAMAccountName,displayName,distinguishedName" ' get attributes
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person));" & strAttrs & ";SubTree"
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person)(objectClass=user));" & strAttrs & ";SubTree"
'strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (objectCategory=person)(objectClass=user)(sAMAccountName=smith*));" & strAttrs & ";SubTree"
strQueryDL = "<LDAP://dc=REGION1,dc=COM>;(& (samAccountType=805306368)(sAMAccountName=smith*));" & strAttrs & ";SubTree"
set objCmd = createobject("ADODB.Command")
objCmd.ActiveConnection = Conn
objCmd.Properties("SearchScope") = 2 ' search everything
objCmd.Properties("Page Size") = 100 ' bulk operation
objCmd.CommandText = strQueryDL
println(objCmd.CommandText)
Set objRs = objCmd.Execute
idx=0
do while Not objRS.eof
idx=idx+1
println(objRs.Fields("sAMAccountName") & "/" & objRs.Fields("displayName") & "/" & objRs.Fields("distinguishedName"))
if (idx>5) then exit do
objRS.MoveNext
loop
objRs.Close
Conn.close
set objRs = Nothing
set conn = Nothing
println("end")
'********************************************************************
Sub println(ByVal str)
If (StdOut Is Nothing) Then Exit Sub
StdOut.WriteLine str
End Sub
相關問題
- 1. 使用PowerShell查詢Active Directory
- 2. 查詢Active Directory
- 3. 查詢Active Directory和出口使用VBScript/WSH
- 4. Parallelise Active Directory查詢
- 5. 用「SQL」查詢Active Directory?
- 6. VBScript錯誤訪問Active Directory
- 7. 在Active Directory中查詢PrincipalContext
- 8. 使用Java來查詢Active Directory查找可用的CIFS共享
- 9. 通過傳遞家庭電話VBScript查找Active Directory用戶名
- 10. VBScript Active Directory檢索屬性/屬性
- 11. 使用VBScript檢索Active Directory(LDAP)中的所有用戶
- 12. php Active Directory查找
- 13. Active Directory用戶檢查
- 14. 在NT AUTHORITY/NETWORK SERVICE下查詢Active Directory
- 15. 查詢Active Directory以列表視圖
- 16. Active Directory查詢疑難解答
- 17. 從SQL Server 2005查詢Active Directory
- 18. 查詢Active Directory以獲得在Android
- 19. Active Directory自定義搜索LDAP查詢
- 20. UserPrincipal對象,Active Directory查詢:DirectoryServicesCOMException
- 21. 使用VBScript和Active Directory通過SID查找用戶電子郵件
- 22. 連接並更改Active Directory - 使用vbscript,windows服務或javascript?
- 23. 使用VBScript將Active Directory提取到SQL數據庫中
- 24. 使用LDAP查詢減少Jira中的Active Directory用戶
- 25. 使用Active Directory查找服務器
- 26. 如何使用C#和ADODB查詢Active Directory?
- 27. 我使用哪個帳戶查詢Active Directory?
- 28. 使用LDAP和PHP查詢Active Directory信息
- 29. 使用命令行中的ldapsearch查詢Windows Active Directory服務器
- 30. 從Windows或Linux設備使用Python 2.7查詢Windows Active Directory
http://www.activexperts.com/activmonitor/windowsmanagement/adminscripts/usersgroups/users/ – Shoban 2009-07-07 04:22:55