Re: Querying AD with the LIKE operator



Hi,

Wildcards are not allowed when filtering/querying on distinguishedName. Only
exact matches are recognized. This is true of any attribute with "DN"
syntax.

--
Richard
Microsoft MVP Scripting and ADSI
Hilltop Lab web site - http://www.rlmueller.net
--
"Dan White" <Dan.White@xxxxxxxxxxxxxxxxxxxxx> wrote in message
news:e922DOwjFHA.3656@xxxxxxxxxxxxxxxxxxxxxxx
> I have a weird problem querying AD for computer accounts.
>
> I am trying to query AD for any computer in any OU that contains "server"
in
> the name of the OU.
>
> EG: CN=cdecitrix9,OU=CAN,OU=!Citrix,OU=Servers,DC=MyDomain,DC=com
> CN=abccwrk1,OU=CAN,OU=Servers,DC=MyDomain,DC=com
>
> We have several nested OU's that I need to enumerate.
>
> Here code that searches the "name" attribute of AD computers:
> '<><><><><><><><><><><><><><><><><><><><><><>
> 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.CommandText = "Select distinguishedName,Name from
> 'LDAP://DC=MyDomain,DC=com' where objectClass='computer' and name =
> '*MyComp*'"
> objCommand.Properties("Page Size") = 1000
> objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE
> Set objRecordSet = objCommand.Execute
> objRecordSet.MoveFirst
>
> Do Until objRecordSet.EOF
> Wscript.Echo objRecordSet.Fields("distinguishedName").Value
> objRecordSet.MoveNext
> Loop
> '<><><><><><><><><><><><><><><><><><><><><><>
>
> The above looks (starting at the root of the domain) for computers that
have
> the string "MyComp" somewhere in their name. The above script works as
> expected.
>
> If I change the query command to:
>
> objCommand.CommandText = "Select distinguishedName,Name from
> 'LDAP://DC=MyDomain,DC=com' where objectClass='computer' and
> distinguishedName = '*MyComp*'"
>
> It doesn't work. You would think "distinguishedName" would return the same
> set of computers but it only returns and empty data set.
>
> Any ideas?
>
> Thanks,
>
> Dan
>
>


.



Relevant Pages

  • Re: Question about .MoveHere method
    ... you should not be able to modify the distinguishedName attribute directly. ... > Hi Richard, ... > i think this should be done in .MoveHere method. ... >> Microsoft MVP Scripting and ADSI ...
    (microsoft.public.scripting.vbscript)
  • Re: AD user rename
    ... Toma¾ Kralj wrote: ... & vFullName) ... you can use the distinguishedName attribute of the user object. ... Microsoft MVP Scripting and ADSI ...
    (microsoft.public.scripting.vbscript)