获取ADUser帐户到期日期



我在AD中的一些用户输出帐户到期日期时遇到了一些困难。

这是我正在使用的代码:

Get-ADUser -Properties AccountExpirationDate

问题是,当我在AD中有一个用户没有设置到期日期时,它显示为空。我希望它显示"永不过期",因为事实就是这样。当我检查用户的有效期时,它会向我显示确切的有效期。

我也尝试了if-else语句,但到目前为止运气不好。

提前谢谢。

谨致问候,Ralph

测试值是否为$null:

$user = Get-ADUser $username -Properties AccountExpirationDate |Select SAMAccountName,@{Name='AccountExpiration'; Expression={if($null -eq $_.AccountExpirationDate){'Never Expires'}else{$_.AccountExpirationDate}}}

另一种方法是也可以请求LDAPaccountExpires属性,它是一个数值
如果该用户属性等于0或9223372036854775807,则该帐户永远不会过期。

Get-ADUser -Properties AccountExpirationDate, accountExpires | 
Select-Object Name, DistinguishedName, 
@{Name = 'AccountExpirationDate'
Expression = {
if ($_.accountExpires -gt 0 -and $_.accountExpires -ne 9223372036854775807) { $_.AccountExpirationDate }
else { 'Never Expires' }
}}

最新更新