查找用户上次登录的时间

查找用户上次登录的时间

我正在尝试找出一种方法来查看特定计算机上的所有 AD 用户帐户,然后查看自上次登录该特定计算机以来已经过了多长时间。我找到了一个 PS 脚本来执行此操作,但问题是它会显示这些用户上次登录 AD 的时间,而不是特定计算机的时间。为了添加一些上下文,我必须使用该脚本从 90 天内未重新登录该特定计算机的计算机中清除本地 AD 用户。另外,我对 PS 还不太熟悉。

旧脚本:

$data = @() 
$NetLogs = Get-WmiObject Win32_NetworkLoginProfile -ComputerName "PC-NAME";
foreach ($NetLog in $NetLogs) { 
if ($NetLog.LastLogon -match "(\d{14})") { 
$row = "" | Select Name,LogonTime 
$row.Name = $NetLog.Name 
$row.LogonTime=[datetime]::ParseExact($matches[0], "yyyyMMddHHmmss", $null) 
$data += $row
} 
} 
$data

我从哪里得到旧脚本:
http://xpertkb.com/find-lastlogon-date-server-local-domain-users/

答案1

方法是执行登录脚本,记录用户每次登录域时的日期、用户名和主机名;您可以在 Active Directory 中设置它。然后,您只需解析保存此信息的集中日志位置即可。

另一种可能性是解析域控制器日志,但事实证明这对我们来说很慢而且不切实际。

您可以检查该文件C:\Users\<user>\NTUSER.DAT:如果其最后修改日期已超过 90 天...则删除该配置文件!

相关内容