| 网站首页 | 新闻中心 | 系统安全 | 网络安全 | 安全技术 | 下载中心 | 
课件制作网.
收藏本站
设为首页
安全365
如何确定用户上次更改密码的时间?
如何确定用户上次更改密码的时间?
作者:佚名 文章来源:不详 点击数: 更新时间:2007-1-24 10:56:59
问:

嗨,脚本专家!如何确定用户上次更改密码的时间?

-- MG

答:

您好,MG。很久以前,一个脚本专家在一所地方大学工作。在那个学校的某个部门中,很容易确定用户上次更改密码的时间:这是因为其行政助理持有一份列表,其中列出该部门中的所有用户及其密码,以及这些密码的更改日期和时间。更好的是,她将该列表保存在书桌上文件夹中;这样,如果有人忘记自己密码,只需取出文件夹查找密码。

当然,也能看见其他人的密码。

因此,这是确定用户上次更改密码的时间的一种方式。但这里有另外一种方式:

Set objUser = GetObject("LDAP://CN=myerken,OU=management,DC=Fabrikam,DC=com")

Wscript.Echo "Password last changed: " & objUser.PasswordLastChanged

是的,这整个脚本;这可不象有些网站,只向您展示内容的开始部分,然后要求您付费才能看到其余部分。(虽然现在我们正在考虑这样做……。)如果要知道 Ken Myer 上次更改密码的时间,只需完成以下两个任务:

绑定到 Active Directory 中 Ken 的用户帐户。

在屏幕上回显 PasswordLastChanged 属性值。

这就是您需要做的一切。真的。

当然,我们假定您是在指 Active Directory 用户帐户;也很有可能您是指 Windows NT 4.0 用户帐户甚至是本地用户帐户。如果是那样,我们似乎有一点问题;毕竟您需要使用 WinNT 提供程序访问 NT 4.0 或本地用户帐户而 WinNT 提供程序不支持 PasswordLastChanged 属性。

因而,这是否意味着使用 NT 4.0 或本地用户帐户时我们运气不好呢?啊,你们应该更了解我们呐:

strComputer = "atl-ws-01"



Set objUser = GetObject("WinNT://" & strComputer & "/kenmyer")



intPasswordAge = objUser.PasswordAge

intPasswordAge = intPasswordAge * -1 

dtmChangeDate = DateAdd("s", intPasswordAge, Now)



WScript.Echo "Password last changed: " & dtmChangeDate

正如您看到的,这个脚本稍微有点长,但仍然相当简单。我们首先连接到计算机 atl-ws-01 上的 Ken Myer 帐户(用户名 kenmyer)。(如果要连接到 NT 4.0 域怎么办?没问题,只需使用该域名替换值 atl-ws-01。)然后,我们取出 PasswordAge 属性值,将其存储在名为 intPasswordAge 的变量中。

我们不回显 PasswordAge 值会怎么样?嗯,PasswordAge 实际上表示自上次更改密码后过去的时间(秒数)。假定返回如下所示的答案:

50725249

您能马上从当前日期和时间减去 50725249 秒并计算出上次更改密码的时间吗?

真的?哇,真了不起。但是我们自己可做不到。因此,我们让脚本来做。首先取 intPasswordAge 值,然后将其乘上 -1:

intPasswordAge = intPasswordAge * -1

为什么?因为在紧接着的下一行代码中,我们将使用 DateAdd 函数确定上次设置密码的日期。要完成此任务,我们需要向 DateAdd 传送三个参数:

正在处理的时间间隔。因为 PasswordAge 按秒数存储,所以我们使用“s”作为第一个参数。

添加到当前日期的秒数。这是我们将 intPasswordAge 乘以 -1 的原因。实际上,我们不是要使用当前日期加上 intPasswordAge 进行计算;这会得到未来的某个时间。而是要从当前日期减去 intPasswordAge 进行计算;毕竟 intPasswordAge 是指从上次更改密码后过去的秒数。因为加上一个负数与减去一个正数作用相同,所以我们将 intPasswordAge 乘以 -1。

当前日期和时间。对于此参数,我们使用 VBScript 函数 Now

任务完成;等式的结果存储在变量 dtmChangeDate 中,然后在最后一行代码中我们回显该变量的值。我们创建和测试此脚本时,它告诉我们上次更改密码的时间是 2003 年 11 月 22 日下午 12:02:10。(它也告诉我们,我们没有及时更新本地用户帐户密码。)

【转自世纪安全网 http://www.21safe.com】
文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
     
     
     
    用户注册邮箱被盗 MSN已
    用户注册邮箱被盗 MSN已
    CSO们如何应对新技术的安
    普通企业如何应对黑客攻
    企业该如何防范由VoIP引
    浅谈IT如何实现企业的应
    黑客与正规企业是如何串
    如何无限制申请Gmail 2.
    企业如何避免人为因素的
    社会工程学:如何利用黑客

    Copyright © 2006-2008 www.anquan365.com 安全365
    建议使用1024*768分辨率及第三方浏览器对本站进行浏览