如何使用C++获取计算机的专有名称(DN)

c00*_*0fd 2 c++ winapi active-directory domaincontroller distinguishedname

我似乎无法找到一种方法来获得带有C++和WinAPI的工作站(计算机)的DN.任何想法如何做到这一点?

PS.工作站连接到域控制器.

PS2.我需要计算机的DN而不是登录用户.

Who*_*aig 7

如果您想要运行代码的计算机的名称,并且它正在参与域,那么您可以使用GetComputerObjectName:

#include <security.h>
#include <secext.h>

TCHAR szDN[1024];
ULONG ulSize = sizeof(szDN)/sizeof(szDN[0]);
BOOL res = GetComputerObjectName(NameFullyQualifiedDN, szDN, &ulSize);
Run Code Online (Sandbox Code Playgroud)

  • 谢谢。这正是我所需要的。顺便说一句,对于那些想要获取用户DN的用户,将其替换为GetUserNameEx()。 (2认同)