1

我似乎無法找到一種方法來使用C++和WinAPI獲取工作站(計算機)的DN。任何想法如何做到這一點?如何使用C++獲取計算機的專有名稱(DN)

PS。工作站連接到域控制器。

PS2。我需要計算機的DN,而不是登錄用戶。

+0

爲了便於說明,您是否希望計算機的名稱*您的代碼在*上運行?或者您指定的備用ID的任意計算機的名稱(如NetBIOS名稱,DNS名稱等)?它有所作爲。 – WhozCraig

+0

我需要它運行我的代碼的計算機。謝謝! – c00000fd

回答

5

如果你想在你的代碼運行的計算機的名稱,它是參與域,那麼你可以使用GetComputerObjectName

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

TCHAR szDN[1024]; 
ULONG ulSize = sizeof(szDN)/sizeof(szDN[0]); 
BOOL res = GetComputerObjectName(NameFullyQualifiedDN, szDN, &ulSize); 
+1

謝謝。這正是我需要的。順便說一句,對於那些想爲用戶獲取DN的用戶,請用GetUserNameEx()替換它。 – c00000fd

+0

@ user843732很高興幫助。它是一個真正無聊的功能,當你不是根域(每個選項返回FALSE),但我可以看到它*非常有用*當你*是*在域上。 – WhozCraig

相關問題