@Jordan_H

Почему значение accountexpires не совпадает со значением в gui?

Автоматизацией устанавливается через gui ADDS срок истечения учётной записи через powershell: Set-ADAccountExpiration usertest -TimeSpan 2.0:0, на следующий день при проверке вручную через консоль выводится другое значение, параметры не совпадают. Если заново повторить процесс вручную, то всё совпадает должным образом…
Стоит заметить, что в консоли значения без учёта обязательного прибавления 1600 лет. Нюанс в том, что если вручную определить ту же самую дату истечения срока учётной записи, то значения будут одинаковые
Различия:
spoiler
633bfe30170fb068765671.png
Совпадения (срок проставлен через gui):
spoiler
633bfe91cfc39646803792.png
  • Вопрос задан
  • 400 просмотров
Решения вопроса 1
@NortheR73
системный инженер
Если я правильно помню:
При установке через ADUC указывается точное время окончания действия УЗ. Для командлета Set-ADAccountExpiration это параметр DateTime
Параметр TimeSpan определяет время окончания действия УЗ, начиная отсчет от текущего времени (по сути, функция Now), т.е. времени запуска командлета Set-ADAccountExpiration
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MaxKozlov Куратор тега PowerShell
Судя по всему, то что ставится в GUI AD - это последний день действия учётки.

А вы используете сомнительный способ перевода числа в дату, мешает поправка на UTC, время вы отрезаете форматом и не видите разницу в временной зоне из-за этого

Пример: Поставил в GUI дату как 04.10.2022
Смотрим что в AD:
Get-ADUser IIvanov -prop AccountExpirationDate, accountExpires
AccountExpirationDate : 05.10.2022 0:00:00
accountExpires        : 133093908000000000

# Как делаете вы
Get-Date 133093908000000000 -UFormat '%Y.%m.%d'
0422.10.04

# Что там на самом деле вы должны были увидеть
Get-Date 133093908000000000
4 октября 0422 г. 21:00:00

# Как делаю я
[datetime]::FromFileTime(133093908000000000)
5 октября 2022 г. 0:00:00
# Что великолепно совпадает с AccountExpirationDate, который я и рекомендую


btw, установка переменной внутри where-object - лютый трэш :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы