Microsoft Office 365 在注册表中保存有关上次搜索/下载/应用更新时间的信息,格式如下:
Get-ItemProperty 'HKLM:\SOFTWARE\Microsoft\office\ClickToRun\Updates' | select *time
UpdateDetectionLastRunTime : 13335538464958
UpdatesAppliedTime : 13335413795690
DownloadTime : 13335365916104
UpdatesDiscoveryPeriodStartTime : 13259087464032
UpdatesBlockedTime : 0
这种格式是什么?它如何转换为标准日期/时间?
该数字是自Windows Epoch Time以来的时间戳,从 1601 年 1 月 1 日开始,以毫秒为间隔计数。
从 Microsoft 页面如何将 Active Directory 中的日期/时间属性转换为标准时间格式
您可以使用内置的 Windows 命令,在值的末尾添加 4 个零,以获得“完整”的 18 位时间戳代码。
由于完整的 18 位值使用自 Windows Epoch 以来的 100nS 时间间隔,通过从末尾删除 4 位数字,您可以将精度从 100nS 间隔降低到毫秒间隔。您可能永远不会注意到精度的降低。
您可以使用在线转换器(例如LDAP、Active Directory 和文件时间时间戳转换器)验证您拥有的数字的转换,但您再次需要
0
在字符串末尾添加四个 ' 以获得正确的 18 位值。要添加@Mokubai的答案,在PowerShell中执行此操作的方法(我认为这里需要这种方法)是使用
FromFileTime
函数,例如:这使用当地时间,也有
FromFileTimeUtc
使用 UTC 时间的。