Se produce un error en la secuencia de tareas en Configuration Manager si las actualizaciones de software requieren varios reinicios

En este artículo se proporciona la información para resolver el problema por el que se produce el error no encontrado en el entorno de secuencia de tareas al usar una secuencia de tareas Configuration Manager.

Versión original del producto: Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (rama actual)
Número de KB original: 2894518

Resumen

El problema se ha corregido en la actualización acumulativa 3 para System Center 2012 Configuration Manager Service Pack 2 y System Center 2012 R2 Configuration Manager Service Pack 1 y en Configuration Manager rama actual, versión 1602.

Una nueva variable de secuencia de tareas opcional, SMSTSWaitForSecondReboot, está disponible para controlar mejor el comportamiento del cliente cuando una instalación de actualización de software requiere dos reinicios.

Para obtener más información, consulte la sección Administración de actualizaciones de software o implementación del sistema operativo en Descripción de la actualización acumulativa 3 para Configuration Manager.

Para obtener Configuration Manager rama actual, consulte Variables de secuencia de tareas.

Síntomas

Supongamos que una secuencia de tareas Configuration Manager que usa el paso Instalar software Novedades instala una actualización de software que desencadena varios reinicios después de que la secuencia de tareas ejecute correctamente la tarea Instalar software Novedades. En esta situación, la secuencia de tareas puede producir un error y generar el siguiente mensaje de error:

Entorno de secuencia de tareas no encontrado

Nota:

Para evitar este problema en Configuration Manager, use la nueva opción Reintentar en el paso de secuencia de tareas Instalar software Novedades.

Causa

La secuencia de tareas controla el primer reinicio iniciado por la actualización de software. Sin embargo, la segunda solicitud de reinicio la inicia un componente de Windows (normalmente, Component-Based mantenimiento) y no se controla mediante la secuencia de tareas. Por lo tanto, el estado de ejecución de la secuencia de tareas no se guarda antes del reinicio porque la secuencia de tareas no controla el segundo reinicio. Cuando la secuencia de tareas se reanuda después del segundo reinicio, no hay ningún estado disponible para continuar correctamente.

Solución

Para resolver este problema, se recomienda aplicar las actualizaciones que requieran reinicios duales mediante la característica de actualizaciones de software habituales de Configuration Manager en lugar de usar secuencias de tareas. Se informó de que las siguientes actualizaciones de software requieren varios reinicios.

Más información

Dado que la secuencia de tareas no controla este segundo reinicio, no se guarda ningún estado de ejecución antes del reinicio. Cuando la secuencia de tareas se reanuda después del reinicio, no hay ningún estado disponible para continuar correctamente. Además, es posible que el siguiente mensaje se registre en el archivo Smsts.log cuando experimente este problema:

!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
TS::Utility::GetTSMDataPath( sDataDir ), HRESULT=80070002
No se pudo establecer el directorio de registro. Es posible que se pierda algún historial de ejecución.
El sistema no puede encontrar el archivo especificado. (Error: 80070002; Origen: Windows)
Ejecución de la secuencia de tareas
!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
Entorno de secuencia de tareas no encontrado

Además, los clientes que ejecutan versiones de versión anteriores a Microsoft System Center 2012 Configuration Manager Service Pack 1 pueden contener la siguiente entrada de registro:

Secuencia de tareas completada en Windows PE.

El equipo cliente también puede estar bloqueado en modo de aprovisionamiento después de que se produzca un error en la secuencia de tareas. Para determinar si el equipo está en modo de aprovisionamiento, compruebe la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec subclave del Registro.

ProvisioningMode debe establecerse en false. Si se establece en true, use uno de los métodos siguientes para sacar al cliente del modo de aprovisionamiento:

  • Use el método SetClientProvisioningMode Instrumental de administración de Windows (WMI) para sacar al cliente del modo de aprovisionamiento correctamente. La manera más fácil de hacerlo es ejecutar el siguiente comando Windows PowerShell:

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

    O bien, ejecute el siguiente comando en un símbolo del sistema con privilegios elevados:

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • Vuelva a instalar el cliente.

Importante

No intente corregir el cliente cambiando el valor de ProvisioningMode a false. Esta acción no sacará completamente al cliente del modo de aprovisionamiento.