Когда я бегу:
Set objConnection = CreateObject("ADODB.Connection")
Set objCommand = CreateObject("ADODB.Command")
objConnection.Provider = "ADsDSOObject"
objConnection.Open "Active Directory Provider"
strFilter = "(&(objectClass=computer))"
strAttributes = "name,distinguishedName"
strQuery = strDomainDN & ";" & strFilter & ";" & strAttributes & ";subtree"
Set objCOmmand.ActiveConnection = objConnection
objCommand.CommandText = strQuery
objCommand.Properties("Page Size") = 9999
Set objRecordSet = objCommand.Execute
objRecordSet.MoveFirst
Do Until objRecordSet.EOF
strADObjects = strADObjects & objRecordSet.Fields("Name").Value & vbCrLf
'Wscript.Echo "Location: " & objRecordSet.Fields("DistinguishedName").Value
objRecordSet.MoveNext
Loop
мой запрос работает как чемпион, но когда я пытаюсь отфильтровать определенную OU, скрипт либо выдает ошибку, либо вообще ничего не исключает Я пробовал много разных вариантов внутри strFilter. Есть ли способ, которым вы можете запросить весь домен для всех компьютеров, но исключая результаты из определенного подразделения? ... или OUs ??? Я пробовал:
strFilter = "(&(objectClass=computer) (!(distinguishedName=*,OU=Computers,DC=mydomain,DC=myTLD)))"
strFilter = "(&(objectClass=computer) (!distinguishedName=*,OU=Computers,DC=mydomain,DC=myTLD))"
strFilter = "(&(objectClass=computer) (!(OU=Computers,DC=mydomain,DC=myTLD)))"
strFilter = "(&(objectClass=computer) (!OU=Computers,DC=mydomain,DC=myTLD))"
Может кто-нибудь предложить какие-нибудь указатели на то, где я могу все испортить? ТИА ~!
Редактировать: Также найдено и опробовано, но без работы:
(&(!(ou:dn:=Computers))(objectClass=Computer))