Как конвертировать 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



















