Zorion’s Weblog

2008 Апрель 22,

Удаление старых компов из домена – 2

Рубрика: Active Directory, PowerShell — zorion @ 15:00

Часть вторая, думаю не окончательная :-)

Как выяснилось 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
}

Комментарии (3) »

  1. Используйте параметр .LastlogomTimeStamp
    В схеме 2003 он реплицируется между всеми доменами

    Комментарий от piramidka — 2008 Апрель 22, @ 19:42

  2. Можно, и так даже будет проще, и правельнее вообще воспользоваться ссылкой которую дал xaegr, но интересует именно составление алгоритма в таком варианте, на три и более серверов, что оказалось не совсем просто :-)

    Комментарий от zorion — 2008 Апрель 23, @ 08:50

  3. LastlogomTimeStamp подошел бы в данном случае, но далеко не универсален. Дело в том что он обновляется не при каждом логоне, а лишь если после последнего обновления прошло определененное время. По умолчанию около недели.

    Комментарий от Xaegr — 2008 Апрель 24, @ 15:12


RSS-лента комментариев к этой записи. URI для обратной ссылки

Оставить комментарий

Вы, должно быть, зарегистрированный, авторизованный отправить комментарий.

Блог на WordPress.com.