使用.NET检测只读域控制器?

Skr*_*sli 1

我希望能够确定特定域控制器是否为只读.我知道我可以做这样的事情来得到一个可写的DC:

using( Domain d = Domain.GetCurrentDomain() )
{ 
    DomainController dc = d.FindDomainController(
        "mysitename", LocatorOptions.WriteableRequired);
}
Run Code Online (Sandbox Code Playgroud)

但是给定一个DomainController对象是否有办法确定该DC是否可写?

我问的原因是我想尝试选择一个首选的域控制器1.可写2.在我的站点和3.全局目录.似乎找不到具有所有这些属性的服务器的好方法.

Per*_*alt 5

只读和可写域控制器之间的一个区别是,所有只读域控制器的属性都primaryGroupID设置为521(这是Active Directory中"只读域控制器"内置组的RID).可写域控制器已primaryGroupID设置为516("域控制器"组).

无法轻松更改只读域控制器的主要组(Active Directory不允许更改),因此您可以安全地假设所有RODC:s都将该属性设置为521.