Последовательность задач завершается сбоем в Configuration Manager, если обновления программного обеспечения требуют нескольких перезапусков

В этой статье содержатся сведения для решения проблемы, из-за которой при использовании последовательности задач Configuration Manager возникает ошибка не найденной среды последовательности задач.

Исходная версия продукта: Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (current branch)
Исходный номер базы знаний: 2894518

Сводка

Эта проблема устранена в накопительном пакете обновления 3 для System Center 2012 Configuration Manager с пакетом обновления 2 (SP2) и System Center 2012 R2 Configuration Manager с пакетом обновления 1 (SP1), а также в Configuration Manager текущей версии 1602.

Новая необязательная переменная последовательности задач , SMSTSWaitForSecondRebootдоступна для более эффективного управления поведением клиента, когда установка обновления программного обеспечения требует двух перезапусков.

Дополнительные сведения см. в разделе Управление обновлениями программного обеспечения и развертывание операционной системыв разделе Описание накопительного обновления 3 для Configuration Manager.

Сведения о Configuration Manager текущей ветви см. в разделе Переменные последовательности задач.

Симптомы

Предположим, что последовательность задач Configuration Manager, использующая шаг Установка программного обеспечения Обновления, устанавливает обновление программного обеспечения, которое активирует несколько перезапусков после успешного выполнения последовательностью задач установки программного обеспечения Обновления. В этом случае последовательность задач может завершиться ошибкой и создать следующее сообщение об ошибке:

Среда последовательности задач не найдена

Примечание.

Эту проблему можно избежать в Configuration Manager с помощью нового параметра Повторить на шаге Установка программного обеспечения Обновления последовательности задач.

Причина

Первый перезапуск, инициированный обновлением программного обеспечения, управляется последовательностью задач. Однако второй запрос на перезапуск инициируется компонентом Windows (как правило, Component-Based Обслуживание) и не контролируется последовательностью задач. Таким образом, состояние выполнения последовательности задач не сохраняется перед перезапуском, так как второй перезапуск не контролируется последовательностью задач. Когда последовательность задач возобновляется после второго перезапуска, состояние не доступно для успешного продолжения.

Разрешение

Чтобы устранить эту проблему, рекомендуется применять все обновления, требующие двойного перезапуска, с помощью обычной функции обновлений программного обеспечения Configuration Manager вместо последовательностей задач. Сообщалось, что для следующих обновлений программного обеспечения требуется несколько перезапусков.

Дополнительная информация

Так как эта вторая перезагрузка не контролируется последовательностью задач, состояние выполнения не сохраняется перед перезапуском. Когда последовательность задач возобновляется после перезапуска, состояние не доступно для успешного продолжения. Кроме того, при возникновении этой проблемы в файл Smsts.log может быть зарегистрировано следующее сообщение:

!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
TS::Utility::GetTSMDataPath( sDataDir ), HRESULT=80070002
Не удалось задать каталог журнала. Некоторые журналы выполнения могут быть потеряны.
Не удается найти указанный файл. (Ошибка: 80070002; Источник: Windows)
Выполнение последовательности задач
!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
Среда последовательности задач не найдена

Кроме того, клиенты под управлением версий выпусков, предшествующих Microsoft System Center 2012 Configuration Manager с пакетом обновления 1 (SP1), могут содержать следующую запись журнала:

Последовательность задач завершена в Среде предустановки Windows.

Клиентский компьютер также может зависнуть в режиме подготовки после сбоя последовательности задач. Чтобы определить, находится ли компьютер в режиме подготовки, проверка подраздел реестраHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec.

ProvisioningMode значение должно иметь значение false. Если задано значение true, используйте один из следующих методов, чтобы вывести клиента из режима подготовки:

  • Используйте метод SetClientProvisioningMode инструментария управления Windows (WMI), чтобы правильно вывести клиент из режима подготовки. Самый простой способ сделать это — выполнить следующую команду Windows PowerShell:

    Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    

    Или выполните следующую команду в командной строке с повышенными привилегиями:

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • Переустановите клиент.

Важно!

Не пытайтесь исправить клиент, изменив ProvisioningMode значение на false. Это действие не приведет к полному выходу клиента из режима подготовки.