Вопрос или проблема
Я обнаружил, что 90% из примерно 1000 компьютерной сети не обновляются автоматически Acrobat Reader (бесплатный).
Насколько я знаю, Adobe Reader автоматически загружает и устанавливает обновления действительно бесшовным образом – в теории, это подход “нулевого касания” для администраторов. Он делает это, создавая запланированную задачу в Windows при установке, называемую “Adobe Acrobat Update Task”. Задача выполняется от имени пользователя (INTERACTIVE) и запускает “C:\Program Files (x86)\Common Files\Adobe\ARM\1.0\AdobeARM.exe” при входе пользователя в систему и в 11 утра каждый день.
Для 10% моих машин это работает отлично. Если я подключаюсь к машине с предыдущей версией и обновление только что выпущено, я могу вручную запустить задачу, и она работает именно так, как ожидалось – в течение нескольких минут новая версия уже видна при запуске Reader.
Для остальных 90% (примерно) это необъяснимо не работает. Задача выполняется. AdobeARM.exe запускается. Это я могу подтвердить. Но приложение просто не обновляется. Независимо от того, сколько я жду. В этом сценарии они определенно имеют старую версию, и я знаю, что есть новая версия – все, что делает задача, это запускает AdobeARM.exe, что она успешно выполняет, и тем не менее.
Я мог бы лучше понять, если бы 10% моих машин не работали. Это непоследовательность, которая меня изводит. Люди говорят мне, что “должно быть что-то в нашей сети”, что блокирует это. Правда? У нас применяются стандартные образы операционных систем и высокий уровень стандартизации программного и аппаратного обеспечения. Большинство из того, что верно для одной машины, одинаково для следующей.
Я обхожу это, используя PDQ Deploy для распространения новой версии – это требует от меня загрузки новой версии и развертывания. Очень мало работы, но некоторые стороны все еще жалуются, что это не полностью без касаний, а приложение имеет свой собственный автообновляемый элемент. Они думают, что мы должны попытаться найти причину, почему 90% просто не обновляются – я не могу найти доказательства литературы на этот счет, ничего, что могло бы указать мне в правильном направлении.
Кто-нибудь здесь когда-нибудь сталкивался с этим явлением, и что вы сделали, чтобы его решить?
Замечание: Пока я пишу это, мне пришло в голову, что, возможно, проблема в том, что запланированная задача выполняется от имени пользователя (INTERACTIVE) – около 90% пользователей не имеют локальных прав администратора. Возможно, AdobeARM.exe нужны локальные права администратора для выполнения задачи обновления. Я рассмотрю и постараюсь доказать эту теорию.
Я также задавался вопросом, почему автопереключатель не обновил меня до последней версии, в то время как проверка обновлений вручную выполнится. Думаю, я разобрался, в чем дело. Этот гид по обновлению Acrobat-Reader был полезным ресурсом для этого.
Короткий ответ
Автообновление немедленно останавливается, если не прошло по крайней мере 3 дня с момента последнего “полного” запуска обновления. Поэтому обновление должно быть установлено после ожидания нескольких дней.
Как устранить неполадки и принудительно выполнить раннее обновление
Журнал файла обновлений находится в %temp%\AdobeARM.log
(например, C:\Users\...\AppData\Local\Temp\AdobeARM.log
)
В моем случае он содержал следующую информацию о последнем запуске обновления:
[2023-09-13 10:47:10:0397] Adobe ARM 1.824.460.1052 logging started.
[2023-09-13 10:47:10:0444] Too soon to check for arm update
[2023-09-13 10:47:10:0451] ProductCode: {AC76BA86-1031-1033-7760-BC15014EA700}
[2023-09-13 10:47:10:0451] ProductName: Adobe Acrobat (64-bit)
[2023-09-13 10:47:10:0451] ProductVersion: 23.003.20284
[2023-09-13 10:47:10:0451] ProductUACPatching: enabled
[2023-09-13 10:47:10:0499] Using registered preference AUTO_ALL
[2023-09-13 10:47:10:0499] Last check for updates not expired, code: 120300
[2023-09-13 10:47:10:0500] Using registered preference AUTO_ALL
[2023-09-13 10:47:10:0500] Last check for updates not expired, code: 120300
[2023-09-13 10:47:10:0709] ARM returns ERROR_SUCCESS
[2023-09-13 10:47:10:0709] Adobe ARM 1.824.460.1052 logging finished.
Процесс обновления останавливается после определения Last check for updates not expired
, несмотря на то, что версия 23.003.20284
устарела. Текущая версия будет 23.006.20320
(которая содержит важную исправление 0-day RCE).
Руководство по обновлению сообщает следующее:
По умолчанию обновляющий модуль выполняет проверку обновлений каждые 3 дня и записывает год и день последней успешной проверки в двух случаях:
- В манифесте для текущей конфигурации продукта системы не найдено обновлений.
- Обновления были найдены и успешно установлены.
Эта отметка времени записывается в ключе реестра HKEY_CURRENT_USER\SOFTWARE\Adobe\Adobe ARM\1.0\ARM
в tLastT_Acrobat
. Удаление или переименование tLastT_Acrobat
приведет к тому, что обновляющий модуль фактически установит текущую версию при следующем запуске.
Удачи! 🙂
Ответ или решение
Обновление Adobe Acrobat Reader через автообновление на всех компьютерах домена может представлять сложность, как это видно из предоставленного описания проблемы, где автоматическое обновление работает только на 10% машин в сети из 1000 компьютеров. Проблема кроется в том, что задача, запускаемая через Windows Scheduler, не приводит к обновлению версии программы для подавляющего большинства устройств.
Теория
Разберем, как в идеале должен работать процесс автообновления: Adobe Acrobat Reader создаёт планировщик задач в Windows, который активируется под учетной записью INTERACTIVE пользователя и запускает процесс "AdobeARM.exe" при входе пользователя в систему и ежедневно в 11 утра. Однако автообновление отключается, если прошло менее трех дней с момента последнего успешного запуска этой задачи.
Наиболее частой причиной подобных проблем может быть недостаток прав у выполняемого процесса. В сценарии, предложенном в описании проблемы, 90% пользователей не имеют прав администратора на локальных машинах, что может препятствовать полноценному выполнению обновлений, так как "AdobeARM.exe" может требовать повышенных прав.
Также стоит рассмотреть, что в условиях корпоративных сетей система безопасности, например, firewall, proxy или антивирусное ПО, может блокировать доступ к серверам обновлений Adobe. Это может объяснять, почему на одних машинах задача выполняется успешно, а на других – нет.
Пример
Рассмотрим пример анализа логов для диагностики проблемы: логи "AdobeARM.log", которые можно найти в папке %temp%, предоставляют информацию о каждом запуске обновления. Здесь была найдена строчка "Last check for updates not expired", указывающая, что обновление не проводится из-за слишком частого запуска задачи согласно политике обновления Adobe. В случае, если обновляемая версия действительно ниже текущей, определенной в логах, а новые релизы Adobe уже доступны, это подтверждает, что механизм обновлений просто не срабатывает, как ожидается.
Еще одним полезным шагом для проверки может служить анализ настроек реестра: в реестре Windows хранится ключ "tLastT_Acrobat", который записывает дату последнего успешного обновления. Удаление или изменение этого ключа в реестре может ускорить процесс проверки обновлений и выполнение актуального обновления на следующем запуске задачи.
Применение
Исходя из вышеизложенного, перед решением проблемы следует провести несколько действий:
-
Проверить и при необходимости скорректировать права доступа, с которыми выполняется задача планировщика. Рассмотрите возможность выполнения задачи от имени учетной записи с административными полномочиями, что позволит "AdobeARM.exe" устанавливать обновления.
-
Рассмотрите проверку сетевой политики и конфигураций безопасности, которая может блокировать соединения с серверами обновлений Adobe. Уточните, есть ли блокировка по доменным именам или IP-адресам, используемым Adobe. При наличии такой блокировки возможна частичная работоспособность обновлений для небольшого количества машин, использующих альтернативные маршруты или настройки.
-
Примените удаленное управление реестром для проверки и корректировки ключа "tLastT_Acrobat". Это может быть выполнено программными средствами для внесения изменений в реестр сразу на всем парке компьютеров.
-
Оцените возможность использования централизованных инструментов для управления установками программного обеспечения, таких как Microsoft SCCM или систем развёртывания патчей, которые могут быть настроены на автоматическое обновление Acrobat Reader в обход внутреннего механизма Adobe.
Проблему можно решить систематическим подходом к администрированию задач, проверкой факторов безопасности и использованием возможностей IT-автоматизации. Такие действия позволят улучшить процесс обновления для всей сети и сделать его действительно бесшовным и автоматическим, как и задумывалось изначально в функционале Adobe.