Да, это возможно, но я думаю, что вам, возможно, придется немного изменить свой подход. Вам нужно написать запрос LDAP для запроса двух групп одновременно, а не просто установить область действия для определенной группы.
Итак, попробуйте переработать ваш скрипт следующим образом:
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
Set objRootDSE = Nothing
Set ad = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
ad.ActiveConnection = adoConnection
'Put the distinguishedname of your two groups here:
strFilter = "(|(memberof=CN=Group Name,OU=....)(memberof=CN=Group Name 2,OU=....))"
'Chose what you want to return here:
strAttributes = "samaccountname,cn"
strQuery = "<LDAP://" & strDNSDomain & ">" & ";" & strFilter & ";" & strAttributes & ";subtree"
ad.CommandText = strQuery
ad.Properties("SearchScope") = 2
ad.Properties("Page Size") = 1000
ad.Properties("Cache Results") = False
Set objRS = ad.Execute
Теперь у вас есть все результаты в наборе записей, вы можете пройтись по ним, записывая каждый в файл или что угодно, что вы хотите сделать. Так что-то вроде:
Do Until objRS.EOF
'Do something with each value
objRS.Fields("samaccountname")
objRS.MoveNext
Loop
Любое использование? Я предполагаю, что здесь вы знаете немного о написании запросов LDAP