繁体   English   中英

是否可以查询特定域用户当前登录的IP地址(或计算机名称)列表?

[英]Is it possible to query a list of IP address(es) (or machine name(s)) that are currently logged into by a specific domain user?

是否可以查询域用户当前登录的域计算机的IP地址(或计算机名称)列表?

问题“在Windows中使用或不使用域登录用户名”即将结束,只有我想找到相反的问题。

我问是否存在这种可能性,因为我对Active Directory的内部知识不足。 我的直觉是Active Directory仅知道域用户最后一次通过身份验证的时间(可能在哪里),并且不跟踪当前会话或注销。

提供此解决方案的任何语言都是可以接受的答案,但首选.NET解决方案。 更重要的是,我想知道是否有可能。

我不认为有一个地方可以获取这些信息。 您可以找到用户上次登录的时间以及从AD进行身份验证的DC,但是问题在于,当您登录第一个要响应的DC时,就是进行身份验证的服务器。 然后,DC将此信息记录到其事件日志中,该日志位于每个主机上,而不位于中央系统中。 您可以从以下链接中看到有关此的更多信息: http : //support.microsoft.com/kb/175062http://www.tartoos.com/HomePage/Rtable/ComputerSchool/Networking/Net41.htm我想您可以从用户帐户的lastLogonTimestamp AD属性获得最后一次登录,然后从域中所有DC的事件日志中查询事件日志,以找出对它们进行身份验证的DC以及从哪个系统进行了身份验证。 所有这些都只会告诉系统上最后一个lgged。...并非所有可以登录的系统。 再一次,您可以将这些结果与可以从DC事件日志中获取的注销时间进行比较...但是,实际上这似乎是一个主要的过分杀手,并且最好还是编写一个记录了这些事件的登录/注销脚本,中央报告系统,可用于将来使用。

这是另一种选择,您可以查询WINS服务器以查询它为用户提供的登录信息,这应返回认为其已登录的系统,有关此操作,请参见此文章:

http://www.visualbasicscript.com/m_56230/tm.htm

基本上,命令是: "NETSH WINS SERVER \\\\WinsServerName SHOW NAME UserName 03"

如果您使用的是某种资产/系统管理软件,例如Desktop Authority,Altiris等,那么您可能会更幸运地探索桌面代理在何处记录此信息,因为它们通常还将这些信息也记录到某些SQL表中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM