如何跟踪AD用户上次访问/映射共享文件夹的日期和时间

时间:2019-03-22 16:49:05

标签: powershell windows-server-2012

我正在尝试获取Windows Server中定义的所有用户的列表,以及上次登录服务器或映射/访问文件共享的日期时间。 为此,我尝试了以下脚本:

Get-ADUser -Filter * -SearchBase "dc=whatever,dc=local" -ResultPageSize 0 -Prop CN,samaccountname,LastLogonTimestamp | Select CN,samaccountname,@{N='Last‌Logon'; E={[DateTime]::FromFileTime($_.LastLogonTimestamp)}}

为我提供了以下输出:

CN                             samaccountname                Last‌Logon                  
--                             --------------                -----------                  
Administrador                  Administrador                 08/02/2019 17:30:00          
Invitado                       Invitado                      01/01/1601 1:00:00           
krbtgt                         krbtgt                        01/01/1601 1:00:00           
Maite                          maite                         01/01/1601 1:00:00           
Mari Carmen                    mcarmen                       01/01/1601 1:00:00           
Emilio                         emilio                        01/01/1601 1:00:00           
Erica                          erica                         01/01/1601 1:00:00 

事实上,我知道管理员以外的用户已经访问了服务器文件共享(其中有些用户每天都将它们映射为驱动器),但是列表中唯一获得的有效登录日期是针对Adminstrator的。

似乎该命令仅在用户实际通过RDP或控制台登录服务器时报告。

每次用户访问任何服务器共享时,如何获得类似的查询来报告?

1 个答案:

答案 0 :(得分:0)

您对文件共享的访问将创建一个不影响LastLogon属性(分别为{{1})的网络登录(登录类型3)。在这种情况下,您将必须从域控制器事件日志中获取信息,该日志记录了所有登录信息。以下脚本将输出任何用户的最后登录日期,其登录类型为过去24小时。

LastLogonTimestamp