我正在尝试从Active Directory域控制器获取当前登录用户的列表。
我可以使用以下代码获取所有用户的列表,但无法获取当前登录的用户列表。
using (var context = new PrincipalContext(ContextType.Domain, "domain.net")) {
using (var searcher = new PrincipalSearcher(new UserPrincipal(context))){
List<UserPrincipal> users = searcher.FindAll().Select(u => (UserPrincipal)u).ToList();
foreach (var u in users) {
Resonse.Write(u.Name);
Response.Write(u.LastLogon);
}
}
}
是否可以使用AD?如果我们可以通过其他任何方式实现目标,那么我也很开放。我只需要当前AD域用户的登录用户列表即可。
谢谢!
答案 0 :(得分:3)
AD不支持它。如果进行审核,则可以从DC的事件日志中提取信息。我还看到人们使用登录脚本将值写入AD帐户的extensionAttributes。另一个选择是联系每台计算机,并为每台计算机查询当前登录的用户。