如何获取工作站所属的Active Directory域的全名

时间:2010-04-13 16:09:29

标签: c++ active-directory

我认为NetGetJoinInformation()函数可能提供工作站所属AD域的名称,但它只提供pre-windows 2000(Netbios)格式的域名。

例如,如果AD域的全名是 TestDomain.Lan ,则NetGetJoinInformation()会返回 TESTDOMAIN 作为域名。

需要适用于W2K&没有.Net的XP

1 个答案:

答案 0 :(得分:0)

我相信GetNetworkParams()正是您所寻找的。 Q& D演示代码:

#include <windows.h>
#include <iphlpapi.h>
#include <iostream>

#pragma comment(lib, "iphlpapi.lib")

int main() { 
    FIXED_INFO *net_params = NULL;
    unsigned long length = 0;

    GetNetworkParams(net_params, &length);
    net_params = static_cast<FIXED_INFO *>(::operator new(length));
    GetNetworkParams(net_params, &length);

    std::cout << "Domain Name: " << net_params->DomainName << "\n";
    ::operator delete(net_params);
    return 0;
}