当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] 将 LastLogonTimestamp 转换为 Sql 中的日期

作者:精品下载站 日期:2024-12-14 16:44:48 浏览:10 分类:玩电脑

将 LastLogonTimestamp 转换为 Sql 中的日期


Active Directory 的 LastLogonTimeStamp 属性以 System.Int64 数据类型格式存储上次登录时间戳值。此时间戳是自 UTC 1601 年 1 月 1 日以来的 100 纳秒间隔数。

LastLogonTimeStamp 是 18 位活动目录时间戳,也称为文件时间。为了使其成为人类可读的格式,我们必须在 SQL 或 PowerShell 中将 Lastlogontimestamp 转换为日期。

在本文中,我们将讨论如何使用脚本将 Lastlogontimestamp 转换为 SQL 中的日期。您需要让 SQL Server 运行将 18 位文件时间转换为最新日期所需的 SQL Server 脚本。

将 LastLogonTimeStamp 转换为 SQL 中的日期时间

我们可以将 Lastlogontimetime 或文件时间转换为 SQL Server 或 PowerShell 中的日期时间,使其成为人类可读的格式。

要将上次登录时间戳转换为 SQL 中的日期,请在 SQL Server 中执行以下步骤和命令。

  • 打开 SQL Server Management Studio(任何版本的 SQL Server 2014 或 SQL Server 2019 或更高版本)
  • 声明 bigint 变量,用于存储 18 位最后登录时间戳值。
  • 使用 select 语句在 SQL 中将 bigint 18 位文件时间转换为日期。
  • 复制以下脚本并执行它以将 Lastlogontimestamp 转换为 SQL 中的日期。
declare @lastlogontime bigint
set @lastlogontime = 132975302840000000
Select CAST((convert(bigint, @lastlogontime) / 864000000000.0 - 109207) AS DATETIME) as LastLogonTimestamp

上述 SQL 脚本将最后登录时间转换为 SQL Server 中的日期并采用人类可读的格式,其输出为:

LastLogonTimestamp
2022-05-20 14:24:44.000

酷提示:您知道lastlogon、lastLogonTimeStamp 和lastLogonDate 之间的区别吗?

结论

希望上面关于如何在SQL中将lastLogonTimeStamp转换为日期时间的文章对您有所帮助。

您还可以使用 DateTime 类在 PowerShell 中将 Lastlogontimestamp 转换为日期时间。 DateTime 类具有 FromFileTime 方法,该方法接受 18 位文件时间并以人类可读的格式返回日期时间。

您可以在 ShellGeek 主页上找到有关 PowerShell Active Directory 命令和 PowerShell 基础知识的更多主题。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯