Aggiorna sistema operativo

<img style="”float:" right;” src="”https://www.recastsoftware.com/wp-content/uploads/2021/10/Recast-Logo-Dark_Horizontal.svg”" alt="&quot;Immagine&quot;" height="”43″" width="”150″">

Aggiorna sistema operativo

Questo passaggio viene utilizzato durante un aggiornamento sul posto del computer da una versione precedente di Windows a una versione più recente di Windows o, in alcuni casi, alla stessa versione di Windows. Questo passaggio è il motore principale in una sequenza di attività di aggiornamento. Per gran parte di questo passaggio, in realtà rimani cieco su ciò che sta accadendo, poiché trasferisce completamente la tua macchina al motore di installazione Windows 10, lasciandoti all'oscuro fino al completamento dell'installazione e restituisce il controllo alla sequenza di attività tramite il file setupcomplete.cmd che viene attivato dal processo di installazione di Windows. È lunga quanto un'introduzione voglio, ma allaccia le cinture, perché questa pagina sarà lunga, perché c'è così tanto terreno da coprire qui.

MS Docs

PowerShell

Variabili

Azioni personalizzate

Esistono diversi file di comando che puoi creare che vengono attivati attraverso il processo di installazione di Windows, la sequenza di attività ne utilizza un paio per impostazione predefinita e il resto non viene utilizzato ... ma ciò non significa che non puoi usarli! Pagina di approfondimento sulle azioni personalizzate

  • Utilizzato dalla sequenza di attività Post del blog dedicato
    • SetupRollback.cmd – Utilizzato se l'aggiornamento non riesce, attiverà la sequenza di attività per tornare indietro e imposta la variabile _SMSTSSetupRollback su True.
      C:WindowsSMSTSPostUpgradeSetupRollback.cmd
    • SetupComplete.cmd – Utilizzato per attivare la sequenza di attività dopo l'aggiornamento riuscito. C:WindowsSMSTSPostUpgradeSetupComplete.cmd e il file di registro: C:WindowsSetupComplete.log Aggiorna l'immagine del sistema operativo 10Aggiorna l'immagine del sistema operativo 9
  • Solo Windows MS Docs – Azioni personalizzate
    • preinstall.cmd
    • precommit.cmd
    • postuninstall.cmd
    • successo.cmd
    • fallimento.cmd

Passaggi correlati

Il gradino

Aggiorna l'immagine del sistema operativo 1

Hai diverse opzioni, solo una richiesta, il tuo aggiornamento Media. Dopo averlo impostato, scegli le altre opzioni in base alle tue esigenze.

Contenuto del conducente

  • Puoi scegliere un vero pacchetto driver, ma questo è semplicemente un discorso pazzesco. A meno che tu non disponga di un pacchetto di driver che funzioni per tutti i tuoi modelli, ciò ti costringerebbe ad avere un passaggio di aggiornamento per modello e il controllo con le condizioni. Questo è il motivo per cui non l'ho mai visto fare, ma ho visto "Contenuto in scena" selezionato, con una variabile che contiene la posizione dei driver.Aggiorna l'immagine del sistema operativo 2

Variabile OSDSetupAdditionalUpgradeOptions

  • È possibile modificare la riga di comando di configurazione sfruttando la variabile OSDSetupAdditionalUpgradeOptions, utilizzando un passaggio "Imposta variabile sequenza attività". Maggiori informazioni su Argomenti della riga di comando su MS Docs per i comandi di installazione Windows 10
    Aggiorna l'immagine del sistema operativo 43

Altre opzioni

  • Tempo scaduto
    • Non ho visto un buon motivo per usarlo, ma è praticamente lì per impostazione predefinita
  • Eseguire la scansione della compatibilità dell'installazione di Windows senza avviare l'aggiornamento
    • Questo è utile per avere un'idea se ci sono dei blocchi rigidi sui tuoi sistemi prima di eseguire l'aggiornamento. Questo è anche un buon modo per memorizzare nella cache il contenuto sui computer prima di eseguire l'aggiornamento poiché richiede lo stesso contenuto. Consiglio vivamente di eseguirlo su tutti gli endpoint prima dell'aggiornamento e di utilizzare i risultati per la creazione di report. (/Compat ScanOnly)
  • Ignora eventuali messaggi di compatibilità ignorati
    • Questo farà sì che il motore di installazione ignori tutte le notifiche che vedresti se eseguissi il processo di installazione manualmente quando ci sono avvisi sugli elementi sul tuo sistema e ti dice che l'installazione li ignorerà o li rimuoverà come parte dell'aggiornamento. (/Compat IgnoraAvviso)
  • Aggiorna in modo dinamico l'installazione di Windows con Windows Update

<div class="”NOTE" alert alert-note”><h5>NOTA</h5><p><p>L&#039;abilitazione degli aggiornamenti dinamici ha il potenziale per fare cose molto negative in quanto può letteralmente scaricare gigabyte di contenuto per macchina, il che può rallentare notevolmente il processo di aggiornamento se la macchina ha un collegamento lento o ridurre la rete utilizzando la larghezza di banda dell&#039;organizzazione avendo molte macchine che raggiungono Microsoft contemporaneamente.</p>
</p></div>

  • Ignora la politica e usa l'aggiornamento Microsoft predefinito
    • Questo ignorerà le impostazioni sulla tua macchina e andrà direttamente a Microsoft

Aggiorna l'immagine del sistema operativo 5

Puoi vedere che la riga di comando del motore di configurazione Windows 10 viene creata in base a tali opzioni insieme a OSDSetupAdditionalUpgradeActions come ho evidenziato sopra.

Ok, è ora della demo!

Demo 1 – Scansione di compatibilità

In questa prima demo ci immergeremo nell'esecuzione del passaggio in modalità di scansione della compatibilità.
Aggiorna l'immagine del sistema operativo 3

Il passaggio inizia raccogliendo le informazioni nel set di variabili che corrispondono al passaggio nel TS e alle opzioni selezionate, quindi apprendendo l'immagine che stai per utilizzare per l'aggiornamento.

Aggiorna l'immagine del sistema operativo 6
Aggiorna l'immagine del sistema operativo 7
Aggiorna l'immagine del sistema operativo 8

Quindi, in questo insieme di registri, vediamo le basi di questo passaggio. Il passaggio inizia determinando cosa deve fare il passaggio in base alle opzioni (variabili) del passaggio. Il passaggio controlla quindi il pacchetto di aggiornamento per assicurarsi che sia compatibile con il sistema che intendi aggiornare. Il passaggio quindi attiva il motore di installazione ed esegue l'attività che gli abbiamo detto di eseguire. In questo esempio, esegue la scansione di compatibilità ed è piuttosto rapido tornare indietro senza problemi.

Demo 2 – Scansione Compat fallita

In questa demo, ho un software che non è compatibile con il processo di aggiornamento e, una volta installato, blocca effettivamente l'aggiornamento della macchina.
Aggiorna OS Image11
In quel registro, l'errore ritorna con il codice esadecimale, che puoi cercare tra quelli di base sul MS Doc Luogo. Per ottenere maggiori dettagli sulla macchina locale, vai alla cartella Panther.
Aggiorna OS Image13
Una volta lì, controlla il file XML CompatData più recente.
Aggiorna OS Image12
Qui verrà elencato l'Hard Blocker.

Demo 3 – Aggiornamento dal 1809 al 1909

Questo sarà un aggiornamento regolare di successo dal 1809 al 1909 per spiegare cosa sta facendo il passaggio.

  • Il passaggio inizia nella fase online (fase di livello inferiore)
  • Conferma che il pacchetto di aggiornamento è compatibile
  • Installa CM Custom SetupComplete.cmd e SetupRollback.cmd
  • Disabilita il client CCM e passa alla modalità di provisioning
  • Crea ed esegue la riga di comando di installazione
  • Monitora il valore "SetupProgress" del registro e lo segnala nell'interfaccia utente
  • Riavvia in fase SafeOS
  • Si riavvia nella prima fase di avvio
  • Si riavvia nella seconda fase di avvio
    • A questo punto, la sequenza di attività viene attivata dal file SetupComplete.cmd
      • Come di CM 2006, SetupComplete.cmd non viene più mostrato durante il processo. Lo vedrai apparire per circa un secondo prima che si riduca a icona e non potrai più vederlo.
        • Questo è stato fatto aggiungendo questo a SetupComplete.cmd
        powershell.exe -noprofile -executionpolicy bypass -window hidden -command ""
        
      • SetupComplete.cmd viene attivato con queste chiavi di registro:
        • Configurazione HKEY_LOCAL_MACHINESYSTEM
          • CmdLine (REG_SZ = C:WindowsSMSTSPostUpgradeSetupComplete.cmd)
          • SetupType (DWord = 2)
        • Queste chiavi vengono cancellate dopo l'esecuzione di SetupComplete.cmd
          • CmdLine (vuoto)
          • SetupType (DWord = 0)

<div class="”TIP" alert alert-tip”><h5>CONSIGLIO</h5><p><p>Potresti dirottare totalmente quei valori di registro e usarlo per fare le tue offerte.. probabilmente non supportato, maggiori informazioni su <a href="/it/”https://garytown.com/setupcomplete-cmd-related-registry-values”/">Post sul blog di GARYTOWN</a></p>
</p></div>

Aggiorna OS Image15
Aggiorna OS Image14
Aggiorna OS Image18
Di seguito ho il registro SetupComplete che mostra quando ha attivato "Wait" e quando quindi attiva TS (TSMBootstrap.exe) e dove si allinea a smsts.log
Aggiorna l'immagine del sistema operativo19
Dopo che il TS si è riattivato, avvia la riparazione del client CM, quindi attende che il client CM diventi attivo. Il motivo della pausa di SetupComplete era che a volte, specialmente su macchine lente, lo spazio dei nomi WMI non veniva migrato completamente al momento della riparazione del client CM e quindi generava errori "Spazio dei nomi non valido", quindi aggiungendo una pausa , ha fornito più tempo per il completamento della migrazione dello spazio dei nomi WMI in modo che, quando il client viene riparato, troverà lo spazio dei nomi e non l'errore.
Aggiorna l'immagine del sistema operativo20
Poco dopo che il client ha ripreso a funzionare, viene attivato un altro riavvio. Di seguito mostro il file SetupComplete.cmd (in basso a destra), insieme a SetupComplete.log (in alto a destra) e SMSTS.log (a sinistra) per mostrare come i registri si allineano con il file di comando.
C'è un riavvio aggiuntivo che si basa sul file SetupComplete.cmd, il primo esce con un codice di uscita specifico, che dice al file SetupComplete.cmd di eseguire nuovamente il sistema per eseguire TSMBootstrap impostando un valore di registro, perché è in arrivo un riavvio . La volta successiva, esce con un codice 0 e ti informa che non è stato attivato alcun riavvio e ripristina il registro. Ho codificato a colori l'immagine per notare le sezioni dei registri e del file di comando che corrispondono l'una all'altra.
Aggiorna OS Image21
Tutto ciò accade prima del passaggio successivo nella sequenza di attività, nella mia sequenza di attività di test, il passaggio successivo è stato quello di mettere in pausa il TS, per rendere più semplice la conferma dei registri e delle linee temporali.

Qui di nuovo nella console, possiamo vedere l'interfaccia utente di TS Progress. Di seguito è proprio mentre il motore di installazione sta finendo, SetupComplete è stato eseguito per la prima volta, attivando TSMBootstrap.exe per riavviare il TS e il TS sta lentamente tornando in vita.
Aggiorna il sistema operativo Image24
Quando TS entra in funzione, attiva una riparazione del client CM (ccmsetup.exe / remediate), quindi rimane su quella schermata fino all'avvio del client, se stavi guardando SMSTS.log durante questa immagine qui sotto, vedresti il avvio del client, quindi tutte le linee rosse "Impossibile avviare il client CCM 0x8007022", più e più volte, fino all'avvio del servizio, che quindi attiva un altro riavvio...
Aggiorna OS Image22

Aggiorna OS Image23
A questo punto, il sistema si sta riavviando e attiverà il file SetupComplete.cmd per la seconda volta, che corrisponde all'immagine sopra con il file SetupComplete.log. Il sistema si riavvia nello "Splash Screen" nero con la ruota che gira, dove rimane per il resto del TS. SetupComplete viene eseguito nuovamente, attiva la sequenza di attività e carica ProgressUI, quindi prosegue con il passaggio successivo, come illustrato di seguito. Nel mio esempio, ho il passaggio "Pausa - Prompt dei comandi" come passaggio immediatamente successivo all'aggiornamento, il che mi ha reso più semplice guardare i registri e acquisire un'acquisizione dello schermo.

Aggiorna OS Image16
Aggiorna OS Image17
Dopo l'aggiornamento e l'accesso, vedrai che l'aggiornamento ha rimosso tutte le mie personalizzazioni.

Demo 4 – Aggiornamento riuscito con i driver

Questo è 95% lo stesso dell'ultima situazione, ma mostrerò solo le poche modifiche per applicare i driver.
Aggiorna OS Image32
Aggiorna OS Image31
Aggiorna OS Image30
Command Line CM Builds aggiunge l'opzione /installdrivers con la posizione ai driver, dove sono stati archiviati nella variabile DRIVERS01.
Quindi, durante l'aggiornamento, il motore di installazione applica quei driver.

Una cosa da notare, se gli dici di usare i driver e non fornisci i driver, accadono anche cose brutte:
Aggiorna OS Image33
La maggior parte delle volte ho visto l'errore 0x80070003 perché i driver non sono stati scaricati correttamente o qualcosa con i driver è andato storto. Costruisci una logica aggiuntiva nel tuo TS per evitare questo problema.

Demo 5 – Fase di downlevel di aggiornamento fallita

Questa demo sarà un errore durante la fase di downlevel del motore di installazione, per simulare i guasti, eseguirò hard reset durante l'aggiornamento.
Qui ho avviato l'Upgrade, e al 12% ho resettato la macchina
Aggiorna l'immagine del sistema operativo25
Dopo il riavvio e l'accesso:
Aggiorna OS Image26
Il client CM è attualmente in modalità di provisioning e il client CM è disattivato.
Per risolverlo:

Invoke-WmiMethod -Spazio dei nomi "rootccm" -Classe "SMS_Client" -Nome "SetClientProvisioningMode" $false c:windowsccmccmeval.exe

Questi comandi ripristineranno il client CM e ti consentiranno di avviare Software Center:
Aggiorna l'immagine del sistema operativo27
Tuttavia, a questo punto il motore della sequenza di attività è bloccato e il client non farà molto finché non lo cancellerai.

Get-WmiObject -Spazio dei nomi RootCCMSoftMgmtAgent -Class CCM_TSExecutionRequest | Rimuovi-WmiObject

Aggiorna l'immagine del sistema operativo28
Puoi vedere che ha cancellato il TS e attualmente non viene nemmeno visualizzato nel software center.
Ma il SMSTSLogsmsts.log è ancora lì! Chiariamo anche questo.

Set-Service smstsmgr -StartupType manuale Start-Service smstsmgr

Aggiorna l'immagine del sistema operativo29
Qui il registro smsts si è unito di nuovo alla cartella padre e ha completamente cancellato la sequenza di attività. Un rapido aggiornamento del centro software ora mostra il TS lì e che è fallito. A questo punto, potresti riavviare l'aggiornamento, ma ti consiglio comunque di riavviare prima di provarlo.

Demo 6 – Aggiornamento SafeOS non riuscito / Prima o seconda fase di avvio

Questa demo sarà un errore durante le altre fasi del motore di installazione, per simulare errori, eseguirò hard reset durante l'aggiornamento. Solo per notare, un errore in una qualsiasi delle fasi successive alla fase di livello inferiore, ottieni gli stessi risultati dalla sequenza di attività.

Per questo test, ho aggiunto una pausa nel gruppo Rollback per confermare che il rollback è attivato:
Aggiorna OS Image34
Nell'immagine sottostante, ho avviato l'aggiornamento e ora è passato il riavvio nella fase SafeOS. Sono ora durante un hard reset. (Riavvio imprevisto)
Aggiorna OS Image35
Il sistema operativo avvia il ripristino delle modifiche annullate:
Aggiorna OS Image36
Il motore di installazione attiva SetupRollback.cmd, che attiva BootStrap e vedrai riapparire l'interfaccia utente di TS Progress:
Aggiorna l'immagine del sistema operativo37
Mentre TSProgressUI viene mostrato sopra, questo è ciò che sta accadendo nei log:
Aggiorna OS Image38
Il SetupRollback.cmd si avvia, attivando TSMBootstrap, che riporta la sequenza di attività in marcia. Imposta anche Var _SMSTSSetupRollback = True.
Il TS controlla quindi il client CM, scoprendo che poiché la macchina non è stata aggiornata, ma è stata ripristinata, non è necessario riparare il client, basta abilitarlo:
Aggiorna l'immagine del sistema operativo39
Aggiorna OS Image40
Ora che il TS ha completato "con successo" il passaggio di aggiornamento del sistema operativo, può continuare e quando si tratta del gruppo di rollback, ora that_SMSTSSetupRollback è vero, eseguirà quel gruppo e il mio passaggio di pausa:
Aggiorna OS Image41
Aggiorna OS Image42

A questo punto, continuerà a eseguire il resto della sequenza di attività e uscirà con grazia.

Puoi vedere la differenza tra un riavvio che si verifica durante la fase di livello inferiore e che si verifica dopo. Preferiresti di gran lunga che accada dopo il primo riavvio, poiché TS si ripristina e CM Client è ok. Questo è il motivo per cui abbiamo scelto di utilizzare l'opzione "/MigNEO disabilitato", per far passare l'aggiornamento oltre la fase di livello inferiore il più velocemente possibile durante l'esecuzione dell'aggiornamento tramite una sequenza di attività.

Consigli

Mettiti alla prova

  • Se vuoi comprendere meglio questo processo ed eseguire alcuni test da solo, ti consiglio di seguire lo schema di base di come ho eseguito i miei test.
  • Sequenza di attività molto semplice, imposta alcune variabili e opzioni, quindi imposta una pausa dopo il passaggio di aggiornamento. Considera anche l'utilizzo del debugger della sequenza di attività
  • Elimina anche il file smsts.log prima di avviare l'aggiornamento, facilitando la ricerca della parte del registro che desideri.
  • Aprire una "CMTrace remota" sulla macchina (\NomeComputerC$ccmlogssmstslogsmsts.log) in modo da poter guardare i registri su un'altra macchina durante l'aggiornamento.

Usa supporti aggiornati

  • Se non riesci ad abilitare gli "Aggiornamenti dinamici" nel passaggio, assicurati di aggiornare i file multimediali offline utilizzando WimWitch o OSDBuilder.
  • Controlla regolarmente VLSC per i supporti di aggiornamento, quindi utilizzalo per la tua Base che aggiorni regolarmente.
  • Aggiornamenti dinamici, non posso parlare abbastanza dell'importanza di includere aggiornamenti dinamici

Problemi comuni

  • Ad essere onesti, questo passaggio non presenta problemi, si comporta come previsto 100% dell'epoca. La parte che ha problemi è il motore di installazione Windows 10. Ma dal momento che il motore di installazione Windows 10 è così strettamente legato a questo passaggio, le linee spesso diventano sfocate e gli utenti / altre persone IT spesso dicono "Il TS non è riuscito" quando si trattava di un problema di installazione di Windows a causa di un problema di compatibilità o qualcos'altro non riuscito, ma poiché è successo durante la sequenza di attività, l'amministratore ConfigMgr è solitamente pronto a capirlo.
    • Visualizzare prima le macchine per l'aggiornamento, eseguire report per trovare macchine con spazio su disco insufficiente o altre risorse insufficienti. Trova macchine con software di livello inferiore.
  • Problemi di aggiornamento Windows 10
    • Scopri come funziona l'aggiornamento Windows 10, guarda generic Documentazione Windows 10.
    • Software di sicurezza di terze parti.
      • Il software Full Disk Encryption con Pre-Boot ha davvero causato problemi e spesso sono problemi specifici del modello. Attenersi a BitLocker
      • AntiVirus/AntiMalware/Strumenti di scansione. Abbiamo avuto queste parti di blocco del processo di aggiornamento e anche file di blocco durante la migrazione. Assicurati di avere tutte le eccezioni in atto
        • c:Windowsccmcache
        • C:_SMSTaskSequence
        • C:$Windows.~BT
        • C: Windows Panther
        • C:Windows.old
        • C:WindowsServiceProfilesNetworkServiceAppDataLocalPeerDistPub

Articoli del blog correlati

Riepilogo

A questo punto, si spera che tu abbia una buona comprensione di ciò che fa il passaggio e, come bonus, anche qualcosa in più sul motore di aggiornamento Windows 10. Gli MS Docs sono andati molto bene, molto meglio anche di un paio di anni fa, quando ci stavamo abituando per la prima volta a questo mondo di Windows as a Service. Se hai altri scenari che vorresti che dimostrassi, contattami su Twitter: @gwblok o @RecastSoftware.

Circa Recast Software
1 organizzazione su 3 che utilizza Microsoft Configuration Manager si affida a Right Click Tools per far emergere le vulnerabilità e rimediare più rapidamente che mai.
Scarica strumenti gratuiti
Richiedi prezzi

Scopri come Right Click Tools sta cambiando il modo in cui vengono gestiti i sistemi.

Aumenta immediatamente la produttività con la nostra Community Edition limitata e gratuita.

Inizia oggi con Right Click Tools:

Supporto

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Contatti

  • Questo campo serve per la convalida e dovrebbe essere lasciato inalterato.

Inviando questo modulo, comprendi che Recast Software può elaborare i tuoi dati come descritto nel Recast Software politica sulla riservatezza.

it_ITItalian