获取可用域的列表(NT4和Active Directory)

时间:2020-03-05 18:41:59  来源:igfitidea点击:

有谁知道(在C#中)获取可用NT4域的方法(有点像WinXP登录框下拉菜单)?

我知道对于使用DirectoryServices命名空间的Active Directory来说,这相当容易,但是对于旧的NT4域,我找不到任何东西。我宁愿不使用API​​调用(但是可能要问很多)。

另外,为了获得加分(!),我们终于在今年秋天晚些时候切换到Active Directory,因此,当我们迁移时,我将如何构造一种自动从NT4切换到AD的域列表的方式(因此,我不需要重新编译并重新发布)

解决方案

回答

不幸的是,我认为我们唯一的选择是使用ADSI API。我们可以通过更改代码中的提供程序来在NT4和Active Directory之间切换。 NT4使用WinNT提供程序,而Active Directory使用LDAP提供程序。

如果查询所使用的任何提供程序的RootDSE节点,则应返回可绑定到的命名上下文,包括域。 RootDSE是LDAP模式特定的标识符。对于WinNT,我们可以将根对象查询为" WinNT:"以获取可用域。

可通过VB脚本BTW获得ADSI。