Re: Querying AD with the LIKE operator
- From: "Richard Mueller [MVP]" <rlmueller-NOSPAM@xxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 22 Jul 2005 19:36:02 -0500
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
>
>
.
- Follow-Ups:
- Re: Querying AD with the LIKE operator
- From: Dan White
- Re: Querying AD with the LIKE operator
- References:
- Querying AD with the LIKE operator
- From: Dan White
- Querying AD with the LIKE operator
- Prev by Date: Change fax # in AD
- Next by Date: Re: Extract information from text file
- Previous by thread: Querying AD with the LIKE operator
- Next by thread: Re: Querying AD with the LIKE operator
- Index(es):
Relevant Pages
|