这个问题是在 DC 服务器上运行(或远程访问 DC)的服务的上下文中,以便该服务可以访问 Active Directory,但该服务不知道 Active Directory 服务器,应该有多少台服务器是,服务器地址是什么,等等......
此外,必须在 Active Directory 设置可能涉及一组联合服务器的假设下编写服务。
因此,通过一个例子来说明这个问题 -
假设我正在尝试通过 Powershell v2(或者您可以使用目录服务)运行一个非常简单的 AD 查询,以获取所有 ADUser:
$users = 获取 ADUser
现在让我们假设示例公司 Contoso 在纽约(用于他们的纽约办公室)和西雅图(用于他们的西雅图办公室)有一个 AD 服务器。此外,该服务将指向作为纽约数据中心服务器的 DC。
因此,为了简单起见,假设 $users 返回两个用户对象,其显示名称属性为:
丹跳吉姆威尔逊
现在让我们假设西雅图服务器已关闭,所以我再次运行查询并得到:
丹跳
据我了解-AD 不会返回指示西雅图服务器已关闭的错误..它只会返回它可以找到的用户..
我知道可以检测到已删除的对象,因此,如果我保存了所有用户的列表,我可能会验证用户是否已被删除……但这有点开销,特别是如果我对列表感兴趣的不仅仅是列表的用户
那么有没有办法在我运行查询之前检测到联合集群中的一个或多个 AD 服务器已关闭?