我正在尝试使用Windows 7中的Windows服务获取当前的用户凭据。
当我在DEBUG模式上运行下面的代码时(请注意,当我在DEBUG模式下运行时,winservice在我的User而不是LocalSystem上运行),没有问题。但是,当WinService在机器上的LocalSystem帐户上运行时,当我将代码作为“已发布”(不是调试)和Windows服务运行时,我无法从活动目录中获取当前用户?
using (DirectoryEntry de = new DirectoryEntry("LDAP://" + DomainName))
{
using (DirectorySearcher adSearch = new DirectorySearcher(de))
{
adSearch.Filter = "(sAMAccountName=" + Environment.UserName + ")";
SearchResult adSearchResult = adSearch.FindOne();
UserInternalEmail = GetProperty(adSearchResult, "mail");
}
}
提前致谢,
答案 0 :(得分:0)
LocalSystem没有本地系统之外的权限,因此很明显AD / LDAP将拒绝它的查询。只需在AD / LDAP /域帐户下运行该服务即可。