【发布时间】:2011-07-01 19:55:06
【问题描述】:
简介(如冗长请见谅): 我现有的产品在端点计算机上运行。 它是用 C# 2.0 编写的(所以我们谈论的是 Win OS),并在 SYSTEM 凭据下作为服务运行。 我还有一个服务器端管理程序,除其他功能外,它还使用与目录提供程序(Active Directory 或 Novell)的直接连接来显示组织域树。
但是 - 现在我希望转换为 SaaS 模型 - 这意味着服务器不会驻留在组织内的主机上 - 因此不再与目录提供商直接连接。
为了仍然能够构建组织域树,我决定通过将有关域结构的信息添加到我的客户发送的日志中来解决这个问题。 (如果您有更好的想法,请告诉我 - 虽然这还不是问题)。
我的问题是 - 如何获取域信息? 我对 LDAP 和 DirectoryServices 库进行了一些尝试,并设法从 DC 中获取了我需要的所有信息 - 但只有当具有足够凭据的用户登录到机器时... 如何编写在端点机器上作为服务运行的代码,并且(至少)可以告诉机器的组和 OU 成员身份 - 以及登录用户的成员身份?
非常感谢!
[编辑:] 发现了一些东西!在注册表中,在 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Group Policy\State\Machine] 下 - “Distinguished-Name”包含计算机的完整 LDAP 路径。不过,我仍然需要组成员身份。
【问题讨论】:
标签: c# active-directory ldap saas directoryservices