获取Active Directory中当前登录用户的列表

时间:2018-10-24 03:38:06

标签: c# asp.net active-directory

我正在尝试从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域用户的登录用户列表即可。

谢谢!

1 个答案:

答案 0 :(得分:3)

AD不支持它。如果进行审核,则可以从DC的事件日志中提取信息。我还看到人们使用登录脚本将值写入AD帐户的extensionAttributes。另一个选择是联系每台计算机,并为每台计算机查询当前登录的用户。

相关问题