Поиск всех доменов в лесу с использованием ADSI в переполнении стека

Поэтому мне нужно найти все домены в лесу, в котором находится хост.

По всему, что я прочитал, спрашиваю «namingContexts«после открытия открытого GC: // RootDSE Должен дать мне это, но я вижу только контексты именования для корня леса. Я проверил все HW, все DC работают и работают, GC хороши. Я знаю, что данные есть, так как Get-ADForest показывает домены, которые я ищу. Что мне не хватает ???

Вот код:

HRESULT hr;
IADs* pGCContainer = NULL;
VARIANT varContainerRetVal;
std::vector<std::string> vecUPNSuffixes;
BSTR path = NULL;

// Initialize COM.

hr = CoInitialize(NULL);
if(FAILED(hr)){
LogInfo("CoInitialize failed hr = %08x",hr);
}

VariantInit(&varContainerRetVal);

// look for all other Domains in the forest
hr = getGCRootDSEContainerObject(&pGCContainer); // this does an ADsGetObject("GC://RootDSE",IID_IADS,(void**)pGCContainer);
if (SUCCEEDED(hr) && pGCContainer)
{
// get NamingContext
hr = pGCContainer->Get(_bstr_t(LDAP_OBJ_NAMEING_CTX.c_str()),&varContainerRetVal);
vecForestDomains = getVariantArrayContentsAsVector(varContainerRetVal); // as the name implies this moves a Variant Array into an std::vector<std::string>
VariantInit(&varContainerRetVal);
};

Это работает до некоторой степени, так как я получаю 5 записей назад, но только из корневого домена, другие домены не перечислены. И действительно странная часть в том, что я видел, что это на самом деле работает день назад.

Вот что я получаю сейчас:

+       [0] "DC=boston,DC=com"+       [1] "CN=Configuration,DC=boston,DC=com"+       [2] "CN=Schema,CN=Configuration,DC=boston,DC=com"+       [3] "DC=DomainDnsZones,DC=boston,DC=com"+       [4] "DC=ForestDnsZones,DC=boston,DC=com"

Это то, что я видел вчера, между кодами нет изменений

+       [0] "DC=boston,DC=com"+       [1] "DC=southend,DC=boston,DC=com
+       [2] "CN=Configuration,DC=boston,DC=com"+       [3] "CN=Schema,CN=Configuration,DC=boston,DC=com"+       [4] "DC=DomainDnsZones,DC=southend,DC=boston,DC=com"+       [5] "DC=ForestDnsZones,DC=boston,DC=com"

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]