Назад | Перейти на главную страницу

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

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

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

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

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

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

  1. Что именно означает «Ревизия» в консоли? Имеет ли это то же значение, что и запись в AppEnforce.log?

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

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

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

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

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

Что нужно иметь в виду:

AppEnforce.log - это еще не вся картина. Версия типа развертывания не похожа на версию приложения, которая снова отличается от версии Content.

Посмотрите в 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. Я подозреваю, что этот механизм определяет достоверность.