第一个密码24小时到期

编辑**我想在每个工作日结束时运行计划的任务来检索从未login和禁用其帐户的所有帐户。 请原谅任何语法错误。 我很可能在这里摸索。 谁能说如果这个解决scheme能工作?

get-aduser -f {-not ( lastlogontimestamp -like "*")} | Disable-ADAccount 

原始问题**

我不是一个系统pipe理员persay,我更像一个程序员,新的活动目录PowerShell脚本。 我已经用bash和其他语言编写脚本,所以我可以很快赶上。

如果第一次使用密码在24小时内没有被使用,我目前的angular色(我是新的)有一个行业标准来过期/禁用帐户。 我做了一个search,发现AD不支持这个function,但是通过脚本了解到这可能是可能的。 审计时间紧迫,我必须说我们有点绝望。

任何帮助,将不胜感激,即使只是一个可能的方式来设置到期时间的背景,或识别尚未更改密码的帐户。

非常感谢你

是的,你的单线应该工作。 我修改了您的原始命令来仅筛选已启用的帐户。

 Get-ADuser -f {-not ( lastlogontimestamp -like "*") -and (enabled -eq $true)} | Disable-ADAccount 

您可以检查以下属性以查找用户帐户是否已login或更改密码。

LastLogonDate PasswordLastSet

 get-aduser -identity ACCOUNTNAME -properties LastLogonDate,PasswordLastSet 

活动目录没有办法设置个人帐户的密码到期。 当密码过期时,它将根据全局最大密码时限 设置来检查帐户的Pwd-Last-Set属性 。

如果您使用某种脚本化的过程来创build用户帐户,我会执行以下操作:

  • 修改用户创build脚本以附加到用户名列表和Pwd-Last-Set时间戳。
  • 创build一个沿列表迭代的计划任务。 如果帐户上的密码最后设置时间戳与文件中的密码相同(即它们没有更改密码),并且文件中的时间戳超过24小时,则将帐户的密码最后设置属性设置为0并且如果需要的话取消不要过期的标志。 这将立即过期密码。

为了简单起见,有没有办法简单地检查密码是否从未改变过? 这样,我可以在一天结束时运行一个计划的任务,禁用此属性的任何帐户? – Jacksgrin

我看到这个问题是相当古老的,但是,比较CreatedCreatedTimeStamp属性的值,以及PasswordLastSet属性应该是一个开始。

get-aduser -identity [accountname] -properties Created,CreatedTimeStamp,PasswordLastSet,LastLogonDate

这应该告诉你账户密码自从账户开始以来是否曾经改变过。

仅供参考,我无法发表评论,或者我会回复他的评论。