【发布时间】:2020-03-20 16:11:53
【问题描述】:
我们有一个使用 AD 实现基于角色的身份验证的产品。
在此应用程序启动时,它会尝试枚举当前林中的所有域以获取一些稍后将使用的信息。
一个sn-p的代码如下所示
Domain currentDomain = Domain.GetDomain(new DirectoryContext(DirectoryContextType.Domain));
Forest currentForest = currentDomain.Forest;
string forestName = currentForest.Name;
foreach (Domain domain in currentForest.Domains)
{
//processing code.
}
上述代码运行良好,直到第 3 条语句,并且使用当前林名称正确初始化了 forestName 变量。
但是当它尝试执行 currentForest.Domains
我们收到 ActiveDirectoryServerDownException 错误消息“指定的域不存在或无法联系”,错误代码为 1355。
从下面的链接中,我知道这可能是 dns 配置错误或端口可能被防火墙阻止。
https://social.technet.microsoft.com/Forums/msonline/en-US/53804e9d-ccdd-450a-967b-b7e8f67cddae/active-directory-error-code-1355?forum=winserverDS
我正在尝试了解需要在服务器机器(Active Directory 服务器)和客户端机器上打开通信的端口。
下面的链接指定了太多让我感到困惑的端口。
https://support.microsoft.com/en-us/help/832017/service-overview-and-network-port-requirements-for-windows
有人可以向我提供有关需要在服务器和客户端计算机上打开哪些端口的信息,以便我可以成功枚举林中的所有域。
【问题讨论】:
标签: c# active-directory port directoryservices