RODC环境下Forest.GetCurrentForest的使用

Posted

技术标签:

【中文标题】RODC环境下Forest.GetCurrentForest的使用【英文标题】:Use of Forest.GetCurrentForest in RODC environment 【发布时间】:2012-01-31 11:51:52 【问题描述】:

在与只读域控制器通信时,我在使用 Forest.GetCurrentForest() 方法时遇到问题。

抛出的异常是:

System.DirectoryServices.ActiveDirectory.ActiveDirectoryServerDownException:服务器无法运行。

注意:与 RWDC 通信时一切正常。

以前,为了解决与 RODC 通信时的其他问题,我们必须修改创建 DirectoryEntry 对象的方式,使用 AuthenticationType.ReadOnlyServer 标志。但是我已经看到(使用反射器)GetCurrentForest() 方法使用 Utils 类创建自己的 DirectoryEntry 对象,而后者又使用 DefaultAuthType。

所以,我的问题是:有谁知道如何设置/修改 DefaultAuthType 以便它可以返回所需的身份验证类型?有一个更好的方法吗?这段代码的目的只是让服务器可以看到可用域的列表。

谢谢,

【问题讨论】:

【参考方案1】:

嗯,似乎没有一个简单的答案。最后我们重写了代码以不使用域/森林对象...

【讨论】:

【参考方案2】:

我为“克服”这个问题所做的事情是,我首先尝试获取Forest.GetCurrentForest(),如果抛出异常,然后我使用Domain.GetComputerDomain() 作为最后一个解决方案,当然,列表现在只包含网络服务器已加入。

【讨论】:

以上是关于RODC环境下Forest.GetCurrentForest的使用的主要内容,如果未能解决你的问题,请参考以下文章

WSFC RODC部署模型

Windows Server 2016-部署RODC只读域控制器

学习总结-Active Directory 域服务管理07-RODC服务器

Windows Server 2016-Active Directory域服务端口汇总

Windows Server 2016-Active Directory域服务端口汇总

BrodCast的理解