Re: Querying AD with the LIKE operator
- From: "Dan White" <Dan.White@xxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 25 Jul 2005 08:10:07 -0600
I guess I will just have to return all computers then parse them out.
Thanks!
Dan
"Richard Mueller [MVP]" <rlmueller-NOSPAM@xxxxxxxxxxxxxxxxxxxx> wrote in
message news:u46Kd8xjFHA.3608@xxxxxxxxxxxxxxxxxxxxxxx
> 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
- Re: Querying AD with the LIKE operator
- From: Richard Mueller [MVP]
- Querying AD with the LIKE operator
- Prev by Date: Re: I need to get content of webpage but this webpage has invalid structure
- Next by Date: Re: Expert help for a regular expression wanted...
- Previous by thread: Re: Querying AD with the LIKE operator
- Next by thread: Re: Querying AD with the LIKE operator
- Index(es):
Relevant Pages
|