none
关于AD账号的LastLogonTimeStamp字段 RRS feed

  • 问题

  • Win2016的AD环境中,有许多遗留的无效计算机账号,准备清理一下。所以用PowerShell命令批量导出计算机账号的LastLogonTimeStamp,想根据最后登录时间来确定哪些计算机长期未登录。

    但导出后发现,这个字段显示成了数字,有什么办法转成日期时间格式吗?

    2021年1月28日 2:05

答案

  • 尊敬的客户,您好:

    查询计算机账号的LastLogonTimeStamp,我们可以使用以下命令:

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogonDate,LastLogonTimeStamp

    根据我们的测试结果来看,LastLogonDate=LastLogonTimeStamp,所以使用LastLogonDate属性,我们就不用转换时间了。

    或者我们可以使用以下命令转换时间:
    [datetime]::FromFileTime(132560166848556821)



    如有问题,请随时联系我们。

    此致,
    HannahXiong

    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 Stanley_L 2021年1月28日 5:21
    2021年1月28日 3:17
  • Hi,

    不客气呢,非常感谢您的反馈。

    您说的应该是LastLogon属性。每次用户登录到域时,LastLogon属性实时更新用户登录时间,但是不会从一个DC复制到另一个DCLastLogon是记录某个账户上一次在该DC认证的时间。该属性是不会在DC之间复制的。

    但是LastLogonDate跟LastLogon不同,您可以使用以下的命令对比下:

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogonDate,LastLogonTimeStamp

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogon,LastLogonTimeStamp

    LastLogonDate和LastLogon输出的结果是不一样的,LastLogonDate应等于lastLogonTimestamp。

    不过,很开心转换的命令可以解决您的问题。如有任何其他问题的话,欢迎在此发帖。

    此致,
    Hannah Xiong

    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    2021年1月28日 7:08

全部回复

  • 尊敬的客户,您好:

    查询计算机账号的LastLogonTimeStamp,我们可以使用以下命令:

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogonDate,LastLogonTimeStamp

    根据我们的测试结果来看,LastLogonDate=LastLogonTimeStamp,所以使用LastLogonDate属性,我们就不用转换时间了。

    或者我们可以使用以下命令转换时间:
    [datetime]::FromFileTime(132560166848556821)



    如有问题,请随时联系我们。

    此致,
    HannahXiong

    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.

    • 已标记为答案 Stanley_L 2021年1月28日 5:21
    2021年1月28日 3:17
  • Hi Hannah,

    感谢你的答复。

    似乎LastLogonDate只记录客户端登录到本台DC的时间,这个字段不会在多台DC间同步。我们的环境有多个Site,十几台DC,就没法一次取得所有计算机账号的LastLogonDate了。

    不过 [datetime]::FromFileTime 也能解决我的问题了。多谢!

    2021年1月28日 5:20
  • Hi,

    不客气呢,非常感谢您的反馈。

    您说的应该是LastLogon属性。每次用户登录到域时,LastLogon属性实时更新用户登录时间,但是不会从一个DC复制到另一个DCLastLogon是记录某个账户上一次在该DC认证的时间。该属性是不会在DC之间复制的。

    但是LastLogonDate跟LastLogon不同,您可以使用以下的命令对比下:

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogonDate,LastLogonTimeStamp

    Get-ADComputer -SearchBase "DC=book,DC=com" -Filter * -Property * | Select-Object Name,LastLogon,LastLogonTimeStamp

    LastLogonDate和LastLogon输出的结果是不一样的,LastLogonDate应等于lastLogonTimestamp。

    不过,很开心转换的命令可以解决您的问题。如有任何其他问题的话,欢迎在此发帖。

    此致,
    Hannah Xiong

    Please remember to mark the replies as answers if they help.
    If you have feedback for TechNet Subscriber Support, contact tnmff@microsoft.com.


    2021年1月28日 7:08