Get-ADComputer Lastlogondate / Lastlogon

时间:2019-06-12 13:47:20

标签: powershell active-directory

我目前正在问自己,是否可以确定连接到活动目录的计算机对象的任何用户的上次登录时间?

我需要确定何时有任何用户登录到仍在线的特定计算机,该计算机仍与域通信,但在最近X天内没有被任何用户使用。

我已经尝试了以下查询:

get-adcomputer $computername -Properties lastlogon | select 
@{Name="lastLogon";Expression={[datetime]::FromFileTime($_.'lastLogon')}}

AND

get-adcomputer za31testvmrobin -Properties lastlogondate

我希望用户在计算机对象上的最后一次登录的时间戳。

希望你能帮助我。

1 个答案:

答案 0 :(得分:0)

我以某种方式在@boxdog的帮助下找到了答案。谢谢你。

以下是Powershell代码:

Get-EventLog -LogName Security -InstanceId 4624 -ComputerName $computer | 
`where {$_.Message -match "Kontoname:       USERNAME" -and 
`$_.Message -match "Anmeldetyp:         2" }  | select -First 1)

Kontoname =帐户名
Anmeldetyp = Logontype(2表示使用键盘和鼠标从控制台进行交互)
制表符是必需的。您还可以使用星号之类的通配符。

我找不到更简单的方法来使其工作。因此,我必须使用比较运算符“ match”来找到一个字符串,以便在Eventlog的Message属性中进行搜索。

不幸的是,搜索需要一些时间。通过远程控制,每台计算机最多可能需要5分钟,这令人非常不满意。 也许有人有另一个更快的解决方案,或者知道并行工作的方法,但实际上我真的不知道该怎么做,因为我对

感到满意。
get-content c:\data\input.txt

预先感谢