我在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' }
}}