gpt4 book ai didi

winapi - 如何以编程方式查找域 Controller /主域 Controller ?

转载 作者:行者123 更新时间:2023-12-04 02:24:47 25 4
gpt4 key购买 nike

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

特别是,给定一台机器的主机名,我想找到将该主机名解析为特定机器的权威来源的名称。 (我认为那是域 Controller ;我对这方面的知识很薄弱,所以我可能以错误的方式提出问题。)。

我见过 C# code fragment据称这样做,但不知道是否与 Win32 API 有任何关系。有很多“如何获取 DC”的网页,但它们都是调用命令脚本,而不是 API。

很高兴拥有代码,但如果有人指出正确的方向,我愿意做提取步骤的功课。

Linux 中有模拟吗? (例如,查找名称服务器的 native 调用?我不假设 Linux 上下文与 Windows 域 Controller )。

(啊哈......刚刚发现了这个问题:Get the domain name of a computer from Windows API。将深入研究它。编辑:也许我想要的功能是NetDCName?我从哪里获得它想要的参数?)。

4 月 19 日编辑:我使用 Eric 的提示编码/测试了 NetDCName。是的,它会在有域 Controller 名称时生成域 Controller 名称,并在没有错误信号时发出错误信号,这正是正确的功能行为。

但是,函数调用似乎需要几秒钟!为什么会这样?这在我尝试执行的检查中造成了 Not Acceptable 、用户可见的延迟。

最佳答案

NetGetDCName是一种选择;如果您需要更多功能,DsGetDcName也是一种选择。

MSDN文档中明确指出,使用NULL表示默认,所以

nStatus = NetGetDCName(NULL, NULL, (LPBYTE *) &lpDcName);

将返回本地计算机上默认域的域 Controller 。

关于winapi - 如何以编程方式查找域 Controller /主域 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23147630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com