UserPrincipal.GetGroups仅在域中的一台服务器上崩溃

时间:2012-10-30 11:51:37

标签: c# .net active-directory userprincipal

我遇到了.NET的UserPrincipal.GetGroups()方法的问题。

在我的域中的几乎所有系统中,我都可以调用

var groups = UserPrincipal.Current.GetGroups().ToArray()

并返回当前用户所在的组。但是有一个Windows 2008 R2 Enterprise Server在执行此消息时崩溃:

服务器无法运行。 姓名:TESTDOMAIN.ORG

我认为这个服务器有某种不同的配置,但它是同一个域的一部分。

Console.WriteLine(
  new DirectoryEntry("LDAP://RootDSE")
  .Properties["defaultNamingContext"]
  .Value
  .ToString()
);

在所有系统上显示相同的内容:DC = GLOBAL,DC = TESTDOMAIN,DC = ORG

我在哪里看?可能是什么问题呢 ?怎么解决?

1 个答案:

答案 0 :(得分:1)

我终于找到了它。 问题是,服务器不知道要使用什么标准网关。 解决方案是转到网络选项,选择使用的LAN接口,编辑IPv4条目并设置标准网关。这样,网络将不再在网络邻域下显示为“未识别的网络”,并且所有与LDAP相关的查询将再次起作用。

这个让我挣扎了几天,所以我希望这个答案对你也有帮助。