Имитация обновления атрибута lastLogonTimestamp Active Directory - PullRequest
0 голосов
/ 22 декабря 2018

Основываясь на следующей статье, я попытался повторить вычисление, которое делается, чтобы решить, будет ли обновляться lastLogonTimestamp или нет.
https://blogs.technet.microsoft.com/askds/2009/04/15/the-lastlogontimestamp-attribute-what-it-was-designed-for-and-how-it-works/

# Get the users lastLogonTimestamp
$User = Get-ADUser -Identity TestUser -Properties lastLogonTimestamp

# Whatever value 'ms-DS-Logon-Time-Sync-Interval' is set (14 default)
$TimeSyncInterval = 14

# $TimeSyncInterval - (Random percentage of 5)
$X = $TimeSyncInterval - (5/100*(Get-Random -Minimum 0 -Maximum 100))

# CurrentDate - lastLogonTimestamp
$YFileTime = (Get-Date).ToFileTime() - $User.lastLogonTimestamp
$YDays = ([datetime]::FromFileTime($YFileTime)).Day

# Update or not?
if($X -lt $YDays) {
    Write-host "update lastLogonTimestamp" -ForegroundColor Cyan
}
elseif($X -gt $YDays) {
    Write-host "do not update lastLogonTimestamp" -ForegroundColor Yellow
}

Если я не буду преобразовыватьразница во времени в «днях», вычисление будет примерно таким, как 11 - 69352598407, и, следовательно, не будет иметь никакого смысла.

Если я сейчас запущу вышеуказанный скрипт-блок через цикл, он никогда не скажет мне, что произойдет обновление,Нет никаких шансов, что свойство будет обновлено, если значение меньше 9 дней (если вы используете 14 в качестве TimeSyncInterval)

Вы можете манипулировать CurrentDate для имитации будущего, добавляя, например, 9 дней.

$YFileTime = ((Get-Date).AddDays(9)).ToFileTime() - $User.lastLogonTimestamp

Если я теперь снова запускаю скрипт через цикл, он говорит мне, что иногда происходит обновление.

1..100 | Foreach-Object {
    # script from above
}

Мне кажется, что я сделал то, что сделал, но, возможно, есть какой-то дополнительный вклад от некоторыхЗдесь ходят легенды об AD.

Пожалуйста, оставьте свой отзыв!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...