Часть вторая, думаю не окончательная
Как выяснилось lastlogon параметр не реплицируемый между контроллерами. В чём я с успехом убедился. У одной машины разброс был в две недели.
И хотя xaegr указал что есть статья по выключению таких учётных записей, но данный пример больше напоминает переделку с обычных скриптов, нежели работу с PowerShell. Пока поддержки AD в PoSh нет, будем использовать QAD (кстати версия уже 1.0.7).
И так, пока скрипт поддерживает конфигурацию из двух контроллеров (ну нету у меня больше, а соответственно проверить пока не на чем).
# Берём данные с одного контроллера
$dc1 = Get-QADComputer -service dc1.lutek.ru -ErrorAction silentlycontinue -IncludedProperties «lastlogon» |
where {($_.lastlogon -lt (get-date).addyears(-1).date) -and ($_.lastlogon -match » «)}
# Берём данные со второго контроллера
$dc2 = Get-QADComputer -service dc2.lutek.ru -ErrorAction silentlycontinue -IncludedProperties «lastlogon» |
where {($_.lastlogon -lt (get-date).addyears(-1).date) -and ($_.lastlogon -match » «)}
# Выбираем имена компов которые есть в двух массивах
$compare = compare-object -ReferenceObject $dc1 -DifferenceObject $dc2 -property name -IncludeEqual -ExcludeDifferent | sort-Object name
# Уменьшаем счётчик на один
$count = $compare.count-1
# Переносим выбранные машины
0..$count | foreach-object {
Move-QADObject $compare[$_].name -NewParentContainer lutekad.ru/computers -WhatIf
}

Используйте параметр .LastlogomTimeStamp
В схеме 2003 он реплицируется между всеми доменами
Комментарий от piramidka — 2008 Апрель 22, @ 19:42
Можно, и так даже будет проще, и правельнее вообще воспользоваться ссылкой которую дал xaegr, но интересует именно составление алгоритма в таком варианте, на три и более серверов, что оказалось не совсем просто
Комментарий от zorion — 2008 Апрель 23, @ 08:50
LastlogomTimeStamp подошел бы в данном случае, но далеко не универсален. Дело в том что он обновляется не при каждом логоне, а лишь если после последнего обновления прошло определененное время. По умолчанию около недели.
Комментарий от Xaegr — 2008 Апрель 24, @ 15:12