Как конвертировать AD свойство пользователя accountExpires в читаемый формат?
Как конвертировать AD свойство пользователя accountExpires в читаемый формат?
При использовании Powershell Модуля ActiveDirectory, для получения свойства пользователя accountExpires (срок действия аккаунта), результат выводится в числовом формате. Пример кода:
Import-Module ActiveDirectory $AccExp = (Get-ADUser test2 -properties accountExpires ).accountExpires $AccExp
Разультат
131766804000000000
Если есть уверенность, что значение accountExpires точно содержит действительное значение даты, то можно использовать командлет:
([DateTime]$AccExp).AddYears(1600).ToLocalTime()
или добавить проверку на корректность входных данных
Import-Module ActiveDirectory # convert accountExpires to date $AccExp = (Get-ADUser test2 -properties accountExpires ).accountExpires #$AccExp If (($AccExp -eq 0) -or ($AccExp -gt [DateTime]::MaxValue.Ticks)) { $DateAccExp = "<NotDate>" } Else { $DateAccExp = ([DateTime]$AccExp).AddYears(1600).ToLocalTime() } $DateAccExp