Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I had to query WinAD by oldskool username, this .vbs script prints user accounts.</p> <ul> <li>find by sAMAccountname, use * wildcard</li> <li>print few attributes from each user object</li> <li>use AccountType filter its most optimized way of iterating AD user objects</li> </ul> <p>Test script first gets an user object by fully qualified string, its just an example. Second part does actual query by smith* filter.</p> <p><strong>WinADSearch.vbs</strong></p> <pre><code>' c:&gt; cscript -nologo script.vbs ' c:&gt; 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 &amp; " " &amp; objUser.middleName &amp; " " &amp; objUser.lastName) println("name=" &amp; objUser.name) println("displayName=" &amp; objUser.displayName) println("userPrincipalName=" &amp; objUser.userPrincipalName) println("sAMAccountName=" &amp; objUser.sAMAccountName) println("distinguishedName=" &amp; 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 = "&lt;LDAP://dc=REGION1,dc=COM&gt;;(&amp; (objectCategory=person) );" &amp; strAttrs &amp; ";SubTree" 'strQueryDL = "&lt;LDAP://dc=REGION1,dc=COM&gt;;(&amp; (objectCategory=person)(objectClass=user) );" &amp; strAttrs &amp; ";SubTree" 'strQueryDL = "&lt;LDAP://dc=REGION1,dc=COM&gt;;(&amp; (objectCategory=person)(objectClass=user)(sAMAccountName=smith*) );" &amp; strAttrs &amp; ";SubTree" strQueryDL = "&lt;LDAP://dc=REGION1,dc=COM&gt;;(&amp; (samAccountType=805306368)(sAMAccountName=smith*) );" &amp; strAttrs &amp; ";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") &amp; " / " &amp; objRs.Fields("displayName") &amp; " / " &amp; objRs.Fields("distinguishedName") ) if (idx&gt;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 </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload