Как изменения приложений передаются с сервера сайта SCCM на клиент?

Как изменения приложений передаются с сервера сайта SCCM на клиент?

Когда я вношу изменения в приложение в консоли управления, я вижу, что этот номер версии увеличивается:

введите описание изображения здесь

Если я нажму «Состояние контента», то увижу «Исходную версию», но не «Редакцию» для приложения.

На клиенте, на котором развернуто приложение, я вижу следующую запись для того же приложения в AppEnforce.log:

«Выполняется обнаружение типа развертывания приложения XXXXXXXXXXXXX 0.2.1 (ScopeId_F51CE1C8-9E1E-4412-8DC0-8870C8D09B93/DeploymentType_7ce08ce1-ddb5-4861-b5eb-d03752c142cb, версия 22) для пользователя».

Все это оставляет у меня следующие вопросы:

  1. Что именно означает "Revision" в консоли? Имеет ли она то же значение, что и запись в in AppEnforce.log?

  2. Необходимо ли обновлять распространяемый контент, чтобы новая «Редакция» передавалась с сервера сайта клиенту?

  3. Какую работу выполняет SCCM для распространения изменения "Revision" в консоли на клиент? Могу ли я увидеть артефакты этой работы в файлах журнала сервера?

  4. Почему «Редакция», которая AppEnforce.logиногда отображается на один шаг позже «Редакции», отображаемой в консоли, даже если прошло много времени?

решение1

Это все, что мне удалось собрать из логов. Я использую CMTrace для слияния следующих логов:AppDiscovery, AppEnforce, AppIntentEval, CAS, ContentTransferManager, DataTransferService

  1. В консоли SCCM «Ревизия» означает ревизию приложения в SCCM. Элемент вAppEnforce.log— это тип развертывания приложения. Я не думаю, что они обязательно должны совпадать, хотя в более простых приложениях это возможно.
  2. Валидность контента оценивается независимо. Если бы вы принудительно перераспределили контент, я бы ожидал, что ревизия контента увеличится. То же самое, если бы была отмечена опция «автоматически обновлять контент» и было определено, что контент обновлен на сервере.
  3. Я думаю, что всю работу выполняет клиент. AppIntentEvalпоказывает, что Приложение применимо, иAppDiscoveryопределяет, какой ContentID/Revision будет использоваться. Это будет означать, что клиент опрашивает сервер на предмет информации, а не обязательно получает ее с сервера.
  4. Потому что SCCM делает вещи вечно? Боюсь, я не смогу ответить на это компетентно. Запуск клиентских задач может привести к тому, что эти результаты оценки вернутся в строй.

Что следует иметь в виду:

AppEnforce.log не отражает всю картину. Ревизия типа развертывания, похоже, не совпадает с ревизией приложения, которая, в свою очередь, отличается от ревизии содержимого.

Посмотрите в AppIntentEval.log. Вы видите ScopeId_xxx/DeploymentType_xxx/(revision). Вы также видите ScopeId_xxx/Application_xxx/(revision). Это не одна и та же сущность.

Думаю, часть вашего вопроса звучит так: «Как клиент определяет, что контент, находящийся в его кэше, все еще актуален, если версии устарели?» ContentAccess.logпоказывает записи, такие как "All references to Content Content_xxx in cache have been removed. Content will be Tombstoned. Я подозреваю, что именно этот механизм определяет валидность.

Связанный контент