我想知道如何使用 Win32 API 在正在运行的应用程序中确定运行应用程序的 Windows 工作站或服务器的域控制器/主域控制器。
特别是,给定一台机器的主机名,我想找到将该主机名解析为特定机器的权威来源的名称。(我认为那是域控制器;我对这方面的知识很薄弱,所以我可能会以错误的方式提出问题。)。
我见过一个据称是这样做的C# 代码片段,但不知道是否与 Win32 API 有任何关系。有很多“如何获得 DC”网页,但它们都在调用命令脚本,而不是 API。
很高兴有代码,但如果有人指出我正确的方向,愿意做提取步骤的功课。
Linux中有模拟吗?(例如,查找名称服务器的本地调用?我没有假设带有 Windows 域控制器的 Linux 上下文)。
(啊哈......刚刚发现了这个问题:Get the domain name of a computer from Windows API。将深入研究它。编辑:也许我想要的功能是NetDCName?我在哪里可以获得它想要的参数?)。
编辑 4 月 19 日:我使用 Eric 的提示对 NetDCName 进行了编码/测试。是的,当有域控制器名称时,它会生成域控制器名称,而当没有域控制器名称时,它会生成错误信号,这正是正确的功能行为。
但是,函数调用似乎需要几秒钟!为什么会这样?这给我正在尝试做的检查带来了不可接受的、用户可见的延迟。