c#方法检查Active Directory域控制器是否已启动并运行
本文关键字:是否 启动 运行 控制器 域控 方法 检查 Active Directory | 更新日期: 2023-09-27 18:11:59
我想增强我正在编写的c#程序,以便它可以在一个或多个Global Catalog dc离线时利用它们列表中的任何一个。我想写一个返回bool值的方法,这取决于add是否在目标服务器上运行(而不仅仅是服务器是否可ping通):
public bool DC_is_Alive(string DomainControllerFQDN)
{
...
}
您可以使用以下方法之一:
。在服务器上创建DirectoryEntry到RootDSE分区,捕获COMException并检查错误代码
using (var entry = new DirectoryEntry("LDAP://serverFqdn/RootDSE"))
{
entry.RefreshCache();
}
二世。创建到服务器的LdapConnection,调用Bind方法,捕获LdapException并检查错误码
using (var connection = new LdapConnection...)
{
connection.Bind();
}
III。DomainController打电话。方法,并捕获ActiveDirectoryObjectNotFoundException
var dc = DomainController.GetDomainController(new DirectoryContext...);
p。根据我的经验,DomainController。GetDomainController可能挂起,因此整个程序停止响应(1000个AD环境中有1个会发生这种情况)。创建方法的一个版本,它调用DomainController。GetDomainController异步并在挂起