首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式找到域控制器/主域控制器?

如何以编程方式找到域控制器/主域控制器?
EN

Stack Overflow用户
提问于 2014-04-18 04:59:31
回答 1查看 2.4K关注 0票数 3

我想知道如何在运行中的应用程序中使用Win32 API来确定运行应用程序的工作站或服务器的域控制器/主域控制器。

特别是,给定机器的主机名,我希望找到将主机名解析为特定机器的权威来源的名称。(我认为这是域控制器;我对这个领域的知识非常薄弱,所以我可能问错了问题。)

我见过一个据称能做到这一点的C#代码片段,但不知道是否与Win32 API有任何关系。有很多“如何获得DC”网页,但它们都是调用命令脚本,而不是API。

很高兴有代码,但如果有人给我指明了正确的方向,那么愿意做关于提取步骤的作业。

Linux中有类似的吗?(例如,本机调用来查找名称服务器?)我不假设Linux上下文有Windows域控制器)。

(啊哈.刚刚发现了这个问题:从Windows获取计算机的域名。会再深入研究的。编辑:也许我想要的函数是NetDCName?我在哪里得到它想要的参数?)

编辑4月19日:我使用Eric的提示编写/测试了NetDCName。是的,当有一个域控制器名时,它会生成域控制器名,如果没有,则生成一个错误信号,这正是正确的功能行为。

然而,函数调用似乎需要几秒钟的时间!为什么会这样?这让我想做的检查中出现了不可接受的、用户可见的延迟。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-18 23:14:19

NetGetDCName是一个选项;如果您需要更多的功能,DsGetDcName也是一个选项。

MSDN文档明确指出NULL用于指示默认值,因此

代码语言:javascript
复制
nStatus = NetGetDCName(NULL, NULL, (LPBYTE *) &lpDcName);

将返回本地计算机上默认域的域控制器。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23147630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档