Скрипт отработал без ошибок. Каталог – нет

Скрипт массового обновления атрибутов отработал идеально: лог чистый, ошибок нет.
Через час выясняется – у 400 пользователей сломалась связка UPN‑sAMAccountName.
Причина – логическая ошибка в условии.
Тест на 10 объектах её просто не поймал.
Дальше обычно три сценария.
Первый – откат из резервной копии.
Но копию сделали 18 часов назад. За это время уже:
– создали новые аккаунты;
– поменяли пароли;
– выдали права.
Откат чинит одно и ломает другое.
Второй – писать обратный скрипт.
Работает, если ты точно помнишь, что именно перезаписалось, и уверен, что обратная логика не добьёт оставшееся.
Обычно это уже режим «админской археологии».
Третий – взять снимок состояния до запуска и вернуть только нужные атрибуты у нужных объектов.
Проблема в том, что третий путь работает только если снимок был сделан заранее.
Не «когда всё поехало», а до того, как нажали Enter.
Массовое изменение без снимка перед изменением – это не автоматизация.
Это ставка на то, что скрипт идеален.
Обычно – нет.