【问题标题】:Powershell - How do I get lastlogon convert into number of daysPowershell - 如何将 lastlogon 转换为天数
【发布时间】:2013-02-19 12:57:28
【问题描述】:

我想查询 Active Directory 以返回用户登录的天数。目前我可以得到 lastlogon 日期,例如 2/26/2012 9:28:28 AM,但我想知道 lastlogon 和今天之间的天数。

这是我在 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 调用“最后登录天数”中添加另一列,除了“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}}

【问题讨论】:

    标签: powershell csv active-directory


    【解决方案1】:

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

    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}}
    

    【讨论】:

    • 要使用的正确参数是“lastlogontimestamp”,使用此设置我为“最后登录天数”返回一个整数
    猜你喜欢
    • 2012-10-17
    • 1970-01-01
    • 1970-01-01
    • 2016-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-11
    • 1970-01-01
    相关资源
    最近更新 更多