Я использую Powershell для определения даты истечения срока действия пароля для учетных записей домена. Я использовал следующую команду для получения этой информации:
Get-ADUser -Filter {SamAccountName -eq "<username>"} -Properties "DisplayName" , "msDS-UserPasswordExpiryTimeComputed"
Затем я преобразую это значение в значимую дату, используя:
[datetime]::FromFileTime(<computed filetime from above command>)
Это прекрасно работает для всех доменов, которые я использую, кроме одного. В этом домене я получаю значение 9223372036854775807
как msDS-UserPasswordExpiryTimeComputed
. Я не могу использовать функцию FromFileTime
для преобразования этого числа в дату. Выдает как ошибку. После исследования я обнаружил, что это число означает, что срок действия пароля не истекает. Однако я знаю, что срок действия паролей в этом домене истекает. Кроме того, свойство PasswordNeverExpires
из командлета Get-ADUser
отображается как False
.
Как я могу получить 9223372036854775807
из атрибута msDS-UserPasswordExpiryTimeComputed
и получить False
из свойства PasswordNeverExpires
? Это кажется противоречием. Что мне не хватает? Существуют ли другие ситуации, когда msDS-UserPasswordExpiryTimeComputed
тоже может быть 9223372036854775807
? Спасибо.
{ ... }
) в качестве аргумента-Filter
лучше избегать. - person mklement0   schedule 04.07.2018