Powershell - 如何将lastlogon转换为天数

时间:2013-02-19 12:57:28

标签: powershell csv active-directory

我想查询Active目录以返回用户登录的天数。目前我可以像2012年2月26日上午9:28:28那样获得最后一次登录日,但我希望在最后一次登录和今天之间有#天。

这是我在stackoverflow上的另一篇文章中找到的脚本

Search-ADAccount -UsersOnly -SearchBase "OU=users,OU=City,dc=mydomain,DC=local" -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogon | Select Name, manager, @{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}} | export-csv u:\Australia.csv -Delimiter ";" -NoTypeInformation

我想在我的CSV调用“Last Logon Days”中添加另一列,另外还有“lastlogon”,它返回一个整数告诉我50,这意味着lastlogon是50天前。

更新

我根据@Musaab Al-Okaidi的回复使用了这个命令

Search-ADAccount -UsersOnly  -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogontimestamp | select Name, @{manager,@{N='LastLogontimestamp'; E={[DateTime]::FromFileTime($_.LastLogontimestamp)}}, @{N='Last Logon Days'; E={$($(Get-Date) - $([DateTime]::FromFileTime($_.LastLogontimestamp))).Days}}

1 个答案:

答案 0 :(得分:2)

更新:这将为您提供上次登录与运行脚本之间的天数。

Search-ADAccount -UsersOnly  -AccountDisabled:$false | Get-ADUser -Properties Name, manager, LastLogon | select Name, manager,@{N='LastLogon'; E={[DateTime]::FromFileTime($_.LastLogon)}}, @{N='Last Logon Days'; E={$($(Get-Date) - $([DateTime]::FromFileTime($_.LastLogon))).Days}}