Condividi tramite


La sequenza di attività ha esito negativo in Configuration Manager se gli aggiornamenti software richiedono più riavvii

Questo articolo fornisce le informazioni per risolvere il problema che l'ambiente della sequenza di attività non è stato trovato si verifica quando si usa una sequenza di attività di Configuration Manager.

Versione originale del prodotto: Microsoft System Center 2012 Configuration Manager, Microsoft System Center 2012 R2 Configuration Manager, Configuration Manager (Current Branch)
Numero KB originale: 2894518

Riepilogo

Il problema è stato risolto nell'aggiornamento cumulativo 3 per System Center 2012 Configuration Manager Service Pack 2 e System Center 2012 R2 Configuration Manager Service Pack 1 e in Configuration Manager Current Branch versione 1602.

Una nuova variabile facoltativa della sequenza di attività, SMSTSWaitForSecondReboot, è disponibile per controllare meglio il comportamento del client quando un'installazione di aggiornamento software richiede due riavvii.

Per altre informazioni, vedere la sezione Gestione aggiornamenti software/distribuzione del sistema operativo in Descrizione dell'aggiornamento cumulativo 3 per Configuration Manager.

Per Configuration Manager Current Branch, vedere Variabili della sequenza di attività.

Sintomi

Si supponga che una sequenza di attività di Configuration Manager che usa il passaggio Installa aggiornamenti software installi un aggiornamento software che attiva più riavvii dopo che la sequenza di attività esegue correttamente l'attività Installa aggiornamenti software. In questo caso, la sequenza di attività può avere esito negativo e generare il messaggio di errore seguente:

Ambiente della sequenza di attività non trovato

Note

È possibile evitare questo problema in Configuration Manager usando la nuova opzione Riprova nel passaggio della sequenza di attività Installa aggiornamenti software.

Causa

Il primo riavvio avviato dall'aggiornamento software è controllato dalla sequenza di attività. Tuttavia, la seconda richiesta di riavvio viene avviata da un componente Windows (in genere, Manutenzione basata su componenti) e non è controllato dalla sequenza di attività. Pertanto, lo stato di esecuzione della sequenza di attività non viene salvato prima del riavvio perché il secondo riavvio non è controllato dalla sequenza di attività. Quando la sequenza di attività riprende dopo il secondo riavvio, non è disponibile alcuno stato per continuare correttamente.

Risoluzione

Per risolvere questo problema, è consigliabile applicare tutti gli aggiornamenti che richiedono riavvii doppi usando la normale funzionalità degli aggiornamenti software di Configuration Manager anziché usare sequenze di attività. Gli aggiornamenti software seguenti sono stati segnalati per richiedere più riavvii.

Ulteriori informazioni

Poiché questo secondo riavvio non è controllato dalla sequenza di attività, non viene salvato alcuno stato di esecuzione prima del riavvio. Quando la sequenza di attività riprende dopo il riavvio, non è disponibile alcuno stato per continuare correttamente. Inoltre, quando si verifica questo problema, è possibile registrare il messaggio seguente nel file di Smsts.log:

!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
TS::Utility::GetTSMDataPath( sDataDir ), HRESULT=80070002
Impossibile impostare la directory di log. È possibile che la cronologia di esecuzione vada persa.
Non è possibile trovare il file specificato. (Errore: 80070002; Origine: Windows)
Esecuzione della sequenza di attività
!sVolumeID.empty(), HRESULT=80004005
!sTSMDataPath.empty(), HRESULT=80070002
Ambiente della sequenza di attività non trovato

Inoltre, i client che eseguono versioni di versione precedenti a Microsoft System Center 2012 Configuration Manager Service Pack 1 possono contenere la voce di log seguente:

Sequenza di attività completata in Windows PE.

Il computer client potrebbe anche essere bloccato in modalità di provisioning dopo che la sequenza di attività ha esito negativo. Per determinare se il computer è in modalità di provisioning, controllare la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CCM\CcmExec sottochiave del Registro di sistema.

ProvisioningMode deve essere impostato su false. Se è impostato su true, usare uno dei metodi seguenti per escludere il client dalla modalità di provisioning:

  • Usare il metodo SetClientProvisioningMode Strumentazione gestione Windows (WMI) per disconnessare correttamente il client dalla modalità di provisioning. Il modo più semplice per eseguire questa operazione consiste nell'eseguire il comando di Windows PowerShell seguente:

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

    In alternativa, eseguire il comando seguente al prompt dei comandi con privilegi elevati:

    powershell Invoke-WmiMethod -Namespace root\CCM -Class SMS_Client -Name SetClientProvisioningMode -ArgumentList $false
    
  • Reinstallare il client.

Importante

Non provare a correggere il client modificando il valore di ProvisioningMode su false. Questa azione non comporta completamente l'uscita del client dalla modalità di provisioning.