Get-ADUser AccountExpirationDate - PullRequest
       0

Get-ADUser AccountExpirationDate

0 голосов
/ 06 апреля 2020

У меня возникли некоторые трудности с выводом даты истечения срока действия учетной записи от некоторых пользователей нашей AD.

Это код, который я использую:

Get-ADUser -Properties AccountExpirationDate

Проблема возникает, когда я у пользователя в AD, который не установил дату истечения срока, он отображается пустым. Я хочу, чтобы он показывал «Никогда не истекает», потому что это так. Когда я проверяю пользователя с датой истечения срока действия, он показывает мне точную дату истечения срока действия.

Я также пытался использовать оператор if else, но пока не повезло.

Заранее спасибо.

С уважением, Ральф

Ответы [ 2 ]

1 голос
/ 06 апреля 2020

Проверьте, является ли значение $null:

$user = Get-ADUser $username -Properties AccountExpirationDate |Select SAMAccountName,@{Name='AccountExpiration'; Expression={if($null -eq $_.AccountExpirationDate){'Never Expires'}else{$_.AccountExpirationDate}}}
0 голосов
/ 06 апреля 2020

Другим способом может быть также запрос свойства LDAP accountExpires, которое является значением цифры c.
Если это свойство пользователя равно 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' }
                }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...