ad的pwdLastSet,微软时间戳转java的date

博客介绍了微软AD中用户密码最后修改时间的表示方式,是从1601年1月1日起的100纳秒数。因与Java从1970年1月1日起计算时间不同,不能直接比较。通过具体例子算出两者差值,给出微软时间转Java日期的方法,即先砍后四位再减差值。

在ad里面用户的密码最后修改时间是一个long型的。用微软的话说:the number of 100 nanosecond intervals since January 1, 1601 (UTC)

也就是是从1601年1月1日到当前时间的一个100纳秒数。首先这个数去掉后四位,就变成了毫秒数。

但是因为跟java的开始计算时间不一样,所以还不能比较。

java是从1970年1月1日00:00:00开始算。而微软从1601年1月1日00:00:00开始算。

要为这两个时间点中间差多少毫秒。可需要好好算一算,是不是还得算中间有多少闰年啊。

其实不用,只要举一个例子,知道一个具体的时间,直接能算出差值的。

比如现在知道 131596092000000000 是微软时间 2018年1月5日 的15:00:00 

而在java的date里这个日期的毫秒数是:1515135600000

两个的差是 11644473600000。

再有微软的时间,先砍掉后四位,在减去 11644473600000,就可以直接转java日期了。分毫不差。

        Date date  = new Date(13159609200000L);
        Date date2  = new Date(118,0,5,15,0,0);
        System.out.println(date2);
        System.out.println(date2.getTime());
        System.out.println(13159609200000L - date2.getTime());
        System.out.println(new Date(13205468290468L - 11644473600000L));

 

<think>好的,用户想了解Active Directory中的“Top past”属性的作用和用途。首先,我需要确认这个术语的正确性,因为在常见的AD文档中可能没有“Top past”这个术语。可能是用户打错了或者存在翻译问题。例如,可能是“Tombstone”(墓碑对象)或者“Last-Logoff”等属性? 接下来,我会检查现有的引用内容。在提供的引用中,引用[1]提到Azure作为中间人增强AD的安全性,但未涉及具体属性。其他引用主要关于文件复制和安装步骤,可能与AD属性无关。因此,可能需要依赖外部知识。 考虑到AD中的常见属性,如“lastLogonTimestamp”、“userAccountControl”等,但“Top past”并不常见。可能的解释是用户可能混淆了术语,或者是指某个对象类的顶层结构,比如“top”类,它是AD中所有对象类的父类,包含基本属性如“objectClass”。 此外,AD中的每个对象都继承自“top”类,因此“top”类中的属性如“objectCategory”或“distinguishedName”对所有对象都是基本的。如果用户确实是指“top”类,那么它的作用是定义所有对象共有的属性,确保结构一致性。 需要进一步澄清用户的问题,但根据现有信息,可能解释“top”类的作用,并建议用户确认术语的正确性。同时,引用现有的引用[1]关于AD基础的信息,指出可能需要查阅更详细的AD架构文档。</think>关于Active Directory中的"Top past"属性,需要先澄清概念:在标准Active Directory架构中并不存在名为"Top past"的正式属性。根据Active Directory基础架构文档分析,您可能是指以下两种可能性: 1. **与时间相关的属性**: 在AD用户对象属性中,存在多个记录时间戳的属性,例如: - $lastLogonTimestamp$(记录用户最后登录时间) - $pwdLastSet$(密码最后修改时间) - $accountExpires$(账户过期时间) 这些属性都属于AD的元数据属性,用于跟踪对象状态变更[^1] 2. **对象继承关系**: 如果是指"top"类(而非"Top past"),这是所有AD对象类的基类。它定义了以下核心属性: $$objectClass$$ $$distinguishedName$$ $$instanceType$$ 这些属性构成了所有AD对象的元数据结构基础 **实际应用中的注意事项**: - 时间戳属性用于执行账户策略,如自动禁用90天未登录的账户 - 继承自top类的属性支持LDAP查询,例如通过$distinguishedName$定位对象位置 - 使用PowerShell查看完整属性: ```powershell Get-ADUser username -Properties * | Select-Object lastLogonTimestamp, pwdLastSet ``` 建议确认具体属性名称,如需要更精确的解释,可提供该属性出现的具体技术场景或界面截图。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值