Как конвертировать AD свойство пользователя accountExpires в читаемый формат?

3584

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

 

источник