1

假设您的组织中有一个包含两个域的林。在我的例子中,每个域都定义在一个服务器中,所以我有两个域控制器。

DOMAIN1
  group1
  user1
DOMAIN2
  group2
  user2

group1 members: user1, user2
group2 members: user1, user2

有没有办法从域 DOMAIN2 中的机器列出user1所属的组?使用 C# 或 WinAPI 对我有效。


编辑: WinAPI 函数NetUserGetGroups对我不起作用,因为当它被执行以在属于域 DOMAIN2 的机器中加载 user1 的组时它不起作用。

我需要类似于LookupAccountName的东西,它能够解析跨域:

如果无法在本地系统上解析名称,此函数将尝试使用本地系统信任的域控制器解析名称。

4

1 回答 1

0

如果您使用的是 .NET 4.0,System.DirectoryServices.AccountManagement命名空间会有所帮助。您使用创建与域的连接PrincipalContext,让用户使用UserPrincipal并调用该方法GetGroups。我相信您可以为所有必需的域执行此操作,前提是您具有适当的权限。此代码项目文章显示了一些示例。

于 2012-07-02T09:33:48.023 回答