2

ActiveDirectoryセットアップのドメインコントローラーに接続されたワークステーションで実行するように設計されたC++プログラムを作成しました。次の状況を除いて、それはうまく機能します。

たとえば、ユーザーがDCに接続されているラップトップにインストールした後、そのラップトップをActive Directory環境から移動したとします(たとえば、DCにアクセスできない場所に移動します)。

私のソフトウェアからこれを検出する方法はありますか?

4

1 に答える 1

2

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();

MSDNのADSIドキュメントを参照してください。ほとんどのドキュメントは、ADにアクセスできる場合にのみ機能します。

于 2012-11-19T02:01:30.533 に答える