在NT AUTHORITY / NETWORK SERVICE下查询Active Directory

时间:2011-03-18 13:45:40

标签: .net active-directory

我有一个在NETWORK SERVICE帐户下运行的Windows服务,需要查询Active Directory以获取有关用户的扩展信息。

在这种情况下,存在阻止服务访问Active Directory的访问限制。该服务必须作为NETWORK SERVICE运行,而不是域用户。

到目前为止,我将域用户的凭据(登录名和密码)传递给DirectorySearcher。从配置文件中检索凭据,这当然不是好事。

是否有另一种更优雅的方式从NETWORK SERVICE下运行的服务查询Active Directory?

2 个答案:

答案 0 :(得分:5)

除非您的域管理员故意禁止此操作,否则默认情况下Active Directory允许任何计算机帐户运行LDAP查询。

因此,如果您的计算机已加入域,则使用NT AUTHORITY \ Network Service帐户应该可以正常工作。

或者,您可以将域用户设置为服务帐户。然后,您无需将任何用户名或密码传入DirectorySearcher

答案 1 :(得分:1)

您可以在Active Directory中为计算机帐户(COMPUTERNAME $)提供读取权限,但是@Harvery Kwok表示默认情况下应该具有此权限(如果计算机是域成员)。