winapi — Как определить, подключена ли рабочая станция к контроллеру домена с помощью Stack Overflow

Я написал программу на C ++, предназначенную для запуска на рабочей станции, подключенной к контроллеру домена, в настройке Active Directory. Отлично работает, кроме следующей ситуации.

Скажем, пользователь устанавливает его на ноутбук, подключенный к DC, но затем удаляет этот ноутбук из среды Active Directory (скажем, уходит домой с ним, где DC недоступен).

Есть ли способ обнаружить это из моего программного обеспечения?

1

Решение

Я бы попытался привязать или найти известный объект в AD. Если связывание успешно, мы должны быть в домене. Предполагая, что пользователь вошел в систему с автономным профилем AD, вы можете попробовать привязаться к текущему пользователю:

IADs *pObject;
HRESULT hr;

CoInitialize(NULL);
hr = ADsGetObject(L"LDAP://CN=user,DC=domain,DC=com", IID_IADs, (void**) &pObject);

if(SUCCEEDED(hr))
{
// AD is available
pObject->Release()
}
else
{
// AD is NOT available
}
CoUninitialize();

Посмотри на ADSI Документация в MSDN, большая часть работает только при наличии доступа к AD.

1

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector