用户密码日期的Powershell

用户密码日期的Powershell,powershell,Powershell,我想写一个基本的脚本来检查密码即将过期的帐户 这是我的脚本: $maxPasswordAges = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days $Today = Get-Date Get-AdUser -Searchbase "MyOU" -filter * - Properties PasswordExpired, AccountExpirationDate, PasswordLastset | Sort-Object

我想写一个基本的脚本来检查密码即将过期的帐户

这是我的脚本:

$maxPasswordAges = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days

$Today = Get-Date

Get-AdUser -Searchbase "MyOU" -filter * - Properties PasswordExpired, AccountExpirationDate, PasswordLastset | Sort-Object  PasswordlastSet 
 Select-Object Name, PasswordExpired, AccountExpirationDate, PasswordlastSet
在上面的代码中,一切似乎都很好,它在我的OU中读取许多帐户类型。 如何添加一个附加列以列出“到期日期”(密码将在多少天内到期)

现在,我需要做一项额外的工作并运行以下额外的代码:

where-object {$_.PasswordlastSet} | foreach {($_.Passwordlastset.AddDays($maxpasswordage) - $Today).Days}

如果我将这两个脚本组合在一起,它只会显示“到期天数”。

您必须检查属性“msDS UserPasswordExpiryTimeComputed”

你可以这样计算:

(((Get-ADUser –Identity 'TestUser' -Properties "msDS-UserPasswordExpiryTimeComputed")."msDS-UserPasswordExpiryTimeComputed")-(Get-Date).Days)

注意:当前日期和计算日期的差异将为您提供所需信息。

您已检查属性“msDS UserPasswordExpiryTimeComputed”

你可以这样计算:

(((Get-ADUser –Identity 'TestUser' -Properties "msDS-UserPasswordExpiryTimeComputed")."msDS-UserPasswordExpiryTimeComputed")-(Get-Date).Days)

注意:当前日期和计算日期的差异将为您提供所需的信息。

您可以在
选择对象
语句中使用a组合两个脚本:

$maxPasswordAges = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days 
$Today = Get-Date

Get-AdUser -Searchbase "MyOU" -filter * - Properties PasswordExpired, AccountExpirationDate, PasswordLastset |
    Sort-Object  PasswordlastSet |
    Select-Object Name, PasswordExpired, AccountExpirationDate, PasswordlastSet, @{Name="DaysToExpire";Expression={($_.Passwordlastset.AddDays($maxpasswordage) - $Today).Days}}

您可以使用
Select Object
语句中的

$maxPasswordAges = (Get-ADDefaultDomainPasswordPolicy).MaxPasswordAge.Days 
$Today = Get-Date

Get-AdUser -Searchbase "MyOU" -filter * - Properties PasswordExpired, AccountExpirationDate, PasswordLastset |
    Sort-Object  PasswordlastSet |
    Select-Object Name, PasswordExpired, AccountExpirationDate, PasswordlastSet, @{Name="DaysToExpire";Expression={($_.Passwordlastset.AddDays($maxpasswordage) - $Today).Days}}

感谢您改进代码。我将尝试自定义它以适合我的工作。感谢改进代码。我将尝试定制它以适合我的工作。