假设您的组织中有一个包含两个域的林。在我的例子中,每个域都在服务器中定义,所以我有两个域控制器。
DOMAIN1
group1
user1
DOMAIN2
group2
user2
group1 members: user1, user2
group2 members: user1, user2
有没有办法从域DOMAIN2中的计算机列出 user1 所属的组?使用C#或WinAPI对我有效。
编辑: WinAPI函数NetUserGetGroups对我不起作用,因为它在执行时在属于域DOMAIN2的计算机中加载user1的组时不起作用。
我需要类似于LookupAccountName的能够解析跨域的内容:
如果在本地系统上无法解析名称,则此功能将会 尝试使用本地信任的域控制器来解析名称 系统
答案 0 :(得分:0)
如果您使用的是.NET 4.0,System.DirectoryServices.AccountManagement
命名空间可以提供帮助。
您使用PrincipalContext
创建与域的连接,使用UserPrincipal
获取用户并调用方法GetGroups
。我相信您可以为所有必需的域执行此操作,前提是您拥有适当的权限。此代码项目article显示了一些示例。