如何获取Samba中所有域用户的最后一次Windows域login时间?

我们使用ldap作为用户帐户设置来运行samba作为主域控制器。 正如标题所说,我正在寻找一种简单的方法来获取每个域用户的最后login时间。

可以生成一个脚本来查找来自pam或ldap的所有用户名,并grep samba日志文件,这可能是容易出错的。 我想这样做已经有了一个预期的方法。

那么,如何在任何/所有Windows机器上获得每个用户的最后login时间?

我有一段时间没有使用samba + LDAP,但是我记得架构中有sambaLogonTime和sambaLogoffTime属性。

samba-ldap howto提到这些属性

但是,我不确定这些是否自动填充。 这个链接暗示他们不是,虽然现在已经很老了。 我不需要使用这些属性,所以我没有真正关注它们

快速和肮脏的解决scheme是“合并”机器日志文件和greplogin

cat /var/log/samba/log.* |grep -A 1 make_connection_snum > logons.txt 

因此,login时可以获得访问其homedir的条目。按照时间和用户sorting看起来像是一个简单的perl脚本的工作。