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