A sequência de tarefas falhará no Configuration Manager se as atualizações de software exigirem várias reinicializações

Este artigo fornece as informações para resolver o problema que o ambiente da Sequência de Tarefas não encontrado ocorre ao usar uma sequência de tarefas Configuration Manager.

Versão original do produto: Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (branch atual)
Número de KB original: 2894518

Resumo

O problema é corrigido na Atualização Cumulativa 3 do System Center 2012 Configuration Manager Service Pack 2 e System Center 2012 R2 Configuration Manager Service Pack 1 e no Configuration Manager versão atual do branch 1602.

Uma nova variável de sequência de tarefas opcional, SMSTSWaitForSecondReboot, está disponível para controlar melhor o comportamento do cliente quando uma instalação de atualização de software requer duas reinicializações.

Para obter mais informações, consulte a seção Gerenciamento de atualizações de software/implantação do sistema operacional em Descrição da Atualização Cumulativa 3 para Configuration Manager.

Para Configuration Manager branch atual, consulte Variáveis de sequência de tarefas.

Sintomas

Suponha que uma sequência de tarefas Configuration Manager que usa a etapa Instalar Software Atualizações instale uma atualização de software que dispara várias reinicializações após a sequência de tarefas executar com êxito a tarefa Instalar Software Atualizações. Nessa situação, a sequência de tarefas pode falhar e gerar a seguinte mensagem de erro:

Ambiente sequência de tarefas não encontrado

Observação

Você pode evitar esse problema no Configuration Manager usando a nova opção Repetir na etapa Instalar Software Atualizações sequência de tarefas.

Motivo

A primeira reinicialização iniciada pela atualização de software é controlada pela sequência de tarefas. No entanto, a segunda solicitação de reinicialização é iniciada por um componente do Windows (normalmente, Component-Based Manutenção) e não é controlada pela sequência de tarefas. Portanto, o estado de execução da sequência de tarefas não é salvo antes da reinicialização porque a segunda reinicialização não é controlada pela sequência de tarefas. Quando a sequência de tarefas for retomada após a segunda reinicialização, nenhum estado estará disponível para continuar com êxito.

Resolução

Para resolve esse problema, recomendamos que você aplique todas as atualizações que exijam reinicializações duplas usando o recurso de atualizações de software usuais de Configuration Manager em vez de usar sequências de tarefas. As atualizações de software a seguir foram relatadas para exigir várias reinicializações.

Mais informações

Como essa segunda reinicialização não é controlada pela sequência de tarefas, nenhum estado de execução é salvo antes da reinicialização. Quando a sequência de tarefas for retomada após a reinicialização, nenhum estado estará disponível para continuar com êxito. Além disso, a seguinte mensagem pode ser registrada no arquivo Smsts.log quando você tiver esse problema:

!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
TS::Utility::GetTSMDataPath( sDataDir ), HRESULT=80070002
Falha ao definir o diretório de log. Algum histórico de execução pode ser perdido.
O sistema não pôde encontrar o arquivo especificado. (Erro: 80070002; Fonte: Windows)
Executar sequência de tarefas
!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
Ambiente sequência de tarefas não encontrado

Além disso, os clientes que estão executando versões de versão anteriores ao Microsoft System Center 2012 Configuration Manager Service Pack 1 podem conter a seguinte entrada de log:

Sequência de tarefas concluída no Windows PE.

O computador cliente também pode ficar preso no modo de provisionamento depois que a sequência de tarefas falhar. Para determinar se o computador está no modo de provisionamento, marcar a subchave do HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec registro.

ProvisioningMode deve ser definido como false. Se ele for definido como true, use um dos seguintes métodos para tirar o cliente do modo de provisionamento:

  • Use o método SetClientProvisioningMode WMI (Instrumentação de Gerenciamento do Windows) para tirar o cliente do modo de provisionamento corretamente. A maneira mais fácil de fazer isso é executar o seguinte comando Windows PowerShell:

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

    Ou execute o seguinte comando em um prompt de comando elevado:

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • Reinstale o cliente.

Importante

Não tente corrigir o cliente alterando o valor de ProvisioningMode para false. Essa ação não tirará totalmente o cliente do modo de provisionamento.