设为首页 收藏本站
查看: 3108|回复: 0

使用PowerShell来查看计算机与用户的最后登录时间

[复制链接]

尚未签到

发表于 2018-9-2 10:45:43 | 显示全部楼层 |阅读模式
  需求说明:
  公司发现AD域中,有很多之前没有处理的帐号,还有一些因直接重装系统留下来的计算机帐号,现要求IT部门将用户与计算机的最后登录时间全部列出来,定期通知确认与清理无效帐号。
  实际操作:
  1. 接到此需要,我们首先要找到用户的最后登录时间,我们可以用Powershell来查询,我们可以打开powershell(注意:无论你登录的时候什么帐号,请一定右键使用管理员身份执行),因我们是针对AD进行操作,所以我们首先要加载AD的模块,命令如下:
  Import-Module ActiveDirectory
  接下来我们再观察一下单个用户的最后登录时间是怎么体现出来的,我们用到以下命令:
  Get-ADUser -Identity Test13 -Properties * | Select Name,SamAccountName,last*
  显示结果如下:
DSC0000.jpg

12.jpg (20.57 KB)

  2015-9-8 11:28
  其中我们可以看到有两个值,Lastlogon与LastLogonTimeStamp,那么,这两个值有什么区别呢?
  LastLogon:属性实时更新用户登录时间,但它不会从一个DC复制到另一个DC。假设一个用户登录到了DC A上,那么DC A上lastLogon既是用户的最近登录时间,但如果你在DC B上查询用户的最近登录时间,得到的结果将会是该用户没有登录过,尽管此时用户正登录在域上。
  LastLonTimeStamp:属性会从一个DC复制到另一个DC。因此,不论你查询域中任何一个DC,都会得到相同的结果。但是为了减少复制流量,此值14天才复制一次,所以可能会造成偏差。
  那么问题来了,当然不是问你挖掘机技术哪家强,我们的问题是,到时是取哪个值呢?
  这个都看我们的需求了,我们的目的是找了长期没有登录域内的用户与计算机,那么这个LastLogonTimeStamp的14天的偏差,是我们可以接受的;而且我们在任何一台DC上执行都能得到最完整,而我们在LastLongon虽然最精确,但我们不得不在每台DC上都要执行,还要取最近的时期,所以,我们的实际环境选取LastLogonTimeStamp这个值就可以了。
  新的问题:这个值不是一个日期,也是一个数字,是代表从1601年1月1日0点到用户最后登录中间有多少个纳秒,所以我们需要将此值转换为能读懂的日期,先上命令,后面再解释。
  Get-ADUser -Filter * Properties * | Select Name,SamAccountName,@{Name="Stamp";Expression={[system.datetime]::fromfiletime($_.lastlogontimestamp)}} | Export-Csv e:\UsersLastLogon.csv -NoTypeInformation -encoding UTF8
  以下对上面命令说一点简短的说明:
  1. 如果想查询计算机,请将命令中的Get-ADUser改成Get-ADComputer。
  2. 如果改成计算机,建立后面的Select去掉SamAccountName。
  3. 如需要排序,可用 Sort -Descending来降序,也可以用不加参数,直接使用Sort来进行升序排序
  4. 结果可以用管道做进一步操作,如移动到指定OU,或者禁用之类的,我这里主要是为了导出数据分析,故导出到csv中,进行条件筛选好,方便使用Import-Csv方便来循环执行操作,具体要看自己的需求。
  以上,完成,
  出处:http://bbs.51cto.com/thread-1167407-1.html


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-561453-1-1.html 上篇帖子: AD默认和扩展属性 Get-ADUser Default and Extended Properties 下篇帖子: 通过PowerShell删除Citrix XenDesktop策略
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表