Actualizar el sistema operativo

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

Actualizar el sistema operativo

Este paso se utiliza durante una actualización in situ de su máquina desde una versión anterior de Windows a una versión más nueva de Windows o, en algunos casos, a la misma versión de Windows. Este paso es el motor principal en una secuencia de tareas de actualización. Gran parte de este paso, en realidad no se da cuenta de lo que está sucediendo, ya que entrega completamente su máquina al motor de configuración Windows 10, dejándolo en la oscuridad hasta que se completa la configuración y devuelve el control a la secuencia de tareas a través de el archivo setupcomplete.cmd que se activa mediante el proceso de instalación de Windows. Esa es una introducción tan larga como quiero, pero abróchese el cinturón, ya que esta página va a ser larga, porque hay mucho terreno que cubrir aquí.

MS Docs

Potencia Shell

Variables

Acciones personalizadas

Hay varios archivos de comando que puede crear que se activan a través del proceso de configuración de Windows, la secuencia de tareas usa un par de ellos de forma predeterminada y el resto no se usa ... ¡pero eso no significa que no pueda usarlos! Página de análisis profundo sobre acciones personalizadas

  • Usado por secuencia de tareas Publicación de blog dedicada

    • SetupRollback.cmd - Se usa si la actualización falla, activará la secuencia de tareas para que vuelva a activarse y establecerá la variable _SMSTSSetupRollback en True.
      C: WindowsSMSTSPostUpgradeSetupRollback.cmd
    • SetupComplete.cmd - Se utiliza para activar la secuencia de tareas después de la actualización exitosa. C: WindowsSMSTSPostUpgradeSetupComplete.cmd y el archivo de registro: C: WindowsSetupComplete.log Actualizar OS Image 10Actualizar OS Image 9
  • Solo Windows MS Docs: acciones personalizadas

    • preinstall.cmd
    • precommit.cmd
    • postuninstall.cmd
    • success.cmd
    • failure.cmd

Pasos relacionados

El paso

Actualizar la imagen 1 del SO

Tiene varias opciones, solo se requiere una, su actualizar los medios. Una vez que haya configurado eso, elija las otras opciones que se adapten a sus necesidades.

Contenido del controlador

  • Puede elegir un paquete de controladores real, pero esto es simplemente una locura. A menos que tenga un paquete de controladores que funcione para todos sus modelos, esto lo obligaría a tener un paso de actualización por modelo y control con condiciones. Esta es la razón por la que nunca vi que se hiciera esto, pero vi "Contenido en etapas" seleccionado, con una variable que contiene la ubicación de los controladores.Actualizar OS Image 2

Variable OSDSetupAdditionalUpgradeOptions

  • Puede modificar la línea de comandos de configuración aprovechando la variable OSDSetupAdditionalUpgradeOptions, usando un paso "Establecer variable de secuencia de tareas". Más información sobre los argumentos de la línea de comandos en MS Docs para comandos de configuración Windows 10
    Actualizar OS Image 43

Otras opciones

  • Se acabó el tiempo

    • No he visto una buena razón para usar esto, pero básicamente está ahí por defecto.
  • Realice una exploración de compatibilidad con la instalación de Windows sin iniciar la actualización

    • Esto es útil para tener una idea de si hay bloqueadores duros en sus sistemas antes de ejecutar la actualización. Esta también es una buena manera de almacenar en caché previamente el contenido en las máquinas antes de ejecutar la actualización, ya que requiere el mismo contenido. Recomiendo encarecidamente ejecutar esto en todos los puntos finales antes de actualizar y usar los resultados para la generación de informes. (/ Compat ScanOnly)
  • Ignore cualquier mensaje de compatibilidad descartable

    • Esto hará que el motor de configuración ignore las notificaciones que vería si ejecuta el proceso de configuración manualmente cuando hay advertencias sobre elementos en su sistema, y le indica que la configuración las ignorará o las eliminará como parte de la actualización. (/ Compat IgnoreWarning)
  • Actualice dinámicamente la configuración de Windows con Windows Update

<div class="”NOTE" alert alert-note”><h5>NOTA</h5><p><p>Habilitar las Actualizaciones dinámicas tiene el potencial de hacer cosas muy malas, ya que literalmente puede descargar gigabytes de contenido por máquina, lo que puede ralentizar drásticamente el proceso de actualización si la máquina tiene un enlace lento, o puede colapsar su red al utilizar el ancho de banda de su organización al tener muchas máquinas llegando a Microsoft al mismo tiempo.</p>
</p></div>

  • Anular la política y utilizar la actualización Microsoft predeterminada

    • Esto ignorará la configuración de su máquina e irá directamente a Microsoft

Actualizar OS Image 5

Puede ver que la línea de comandos del motor de configuración Windows 10 se crea en función de esas opciones junto con OSDSetupAdditionalUpgradeActions como he resaltado anteriormente.

¡Ok, hora de la demostración!

Demostración 1 - Escaneo de compatibilidad

En esta primera demostración, vamos a sumergirnos en la ejecución del paso en el modo de escaneo de compatibilidad.
Actualizar OS Image 3

El Paso comienza reuniendo la información en el conjunto de variables que corresponden al paso en el TS y las opciones seleccionadas, luego aprende sobre la Imagen que está a punto de usar para la actualización.

Actualizar OS Image 6
Actualizar OS Image 7
Actualizar OS Image 8

Entonces, en este conjunto de registros, vemos los conceptos básicos de este paso. El paso comienza determinando qué debe hacer el paso en función de las opciones (variables) del paso. Luego, el Paso verifica el Paquete de actualización para asegurarse de que sea compatible con el sistema que va a actualizar. El paso luego activa el motor de configuración y realiza la tarea que le dijimos que hiciera. En este ejemplo, ejecuta el escaneo de compatibilidad y es bastante rápido regresar sin problemas.

Demostración 2 - Escaneo de compatibilidad fallido

En esta demostración, tengo un software que no es compatible con el proceso de actualización y, cuando se instala, bloquea la actualización de la máquina.
Actualizar OS Image11
En ese registro, el error vuelve con el código hexadecimal, que puede buscar algunos básicos en el MS Doc Sitio. Para obtener más detalles sobre la máquina local, diríjase a la carpeta Panther.
Actualizar OS Image13
Una vez allí, consulte el archivo XML CompatData más reciente.
Actualizar OS Image12
Aquí se enumerará el bloqueador duro.

Demostración 3: actualización de 1809 a 1909

Esta será una actualización regular y exitosa de 1809 a 1909 para explicar lo que está haciendo el paso.

  • El paso comienza en la etapa en línea (fase de nivel inferior)
  • Confirma que el paquete de actualización es compatible
  • Instala CM Custom SetupComplete.cmd & SetupRollback.cmd
  • Desactiva el cliente CCM y lo coloca en modo de aprovisionamiento
  • Construye y ejecuta la línea de comandos de instalación.
  • Supervisa el valor "SetupProgress" del registro y lo informa en la interfaz de usuario
  • Reinicia en la fase SafeOS
  • Reinicia en la primera fase de inicio
  • Se reinicia en la segunda fase de inicio
    • En este punto, la secuencia de tareas se activa mediante el archivo SetupComplete.cmd
      • A partir de CM 2006, SetupComplete.cmd ya no se muestra durante el proceso. Lo verá aparecer durante aproximadamente un segundo antes de que se minimice y ya no pueda verlo.

        • Esto se hizo agregando esto a SetupComplete.cmd
        powershell.exe -noprofile -executionpolicy bypass -ventana oculta -comando ""
        
      • SetupComplete.cmd se activa al tener estas claves de registro:

        • HKEY_LOCAL_MACHINESYSTEMSetup
          • CmdLine (REG_SZ = C: WindowsSMSTSPostUpgradeSetupComplete.cmd)
          • SetupType (DWord = 2)
        • Esas claves se borran después de que se ejecuta SetupComplete.cmd
          • CmdLine (en blanco)
          • SetupType (DWord = 0)

<div class="”TIP" alert alert-tip”><h5>PROPINA</h5><p><p>Podría secuestrar totalmente esos valores de registro y usarlos para hacer su oferta ... probablemente no sea compatible, más información sobre <a href="/es/”https://garytown.com/setupcomplete-cmd-related-registry-values”/">Publicación del blog de GARYTOWN</a></p>
</p></div>

Actualizar OS Image15
Actualizar OS Image14
Actualizar OS Image18
A continuación, tengo el registro SetupComplete que muestra cuándo activó el "Esperar" y cuándo activa el TS (TSMBootstrap.exe) y dónde se alinea con el smsts.log
Actualizar OS Image19
Una vez que el TS se activa, activa la reparación del CM Client y luego espera a que el CM Client se active. El motivo de la pausa SetupComplete fue que a veces, especialmente en máquinas lentas, el espacio de nombres WMI no se había migrado por completo cuando se estaba reparando el cliente CM, y luego arrojaba errores "Espacio de nombre no válido", por lo que al agregar una pausa , proporcionó más tiempo para que se completara la migración del espacio de nombres de WMI, de modo que cuando se repare el cliente, encuentre el espacio de nombres y no el error.
Actualizar OS Image20
Poco después de que el cliente vuelva a funcionar, se activa otro reinicio. A continuación, muestro el archivo SetupComplete.cmd (abajo a la derecha), junto con SetupComplete.log (TopRight) y SMSTS.log (izquierda) para mostrar cómo los registros se alinean con el archivo de comando.
Hay un reinicio adicional que se basa en el archivo SetupComplete.cmd, el primero sale con un código de salida específico, que le dice al archivo SetupComplete.cmd que prepare el sistema para ejecutar TSMBootstrap nuevamente estableciendo un valor de registro, porque se acerca un reinicio . La próxima vez, sale con un código 0 y le permite saber que no se ha activado el reinicio y restablece el registro. He codificado por colores la imagen para anotar las secciones de los registros y el archivo de comando que se corresponden entre sí.
Actualizar OS Image21
Todo eso sucede antes del siguiente paso en la secuencia de tareas, en mi secuencia de tareas de prueba, el siguiente paso que tuve fue pausar el TS, para facilitar la confirmación de registros y líneas de tiempo.

Aquí, de vuelta en la consola, podemos ver la interfaz de usuario de TS Progress. A continuación, a la derecha, cuando el motor de configuración está finalizando, SetupComplete se ejecutó por primera vez, activando TSMBootstrap.exe para que el TS vuelva a activarse y el TS está volviendo a la vida más lento.
Actualizar OS Image24
Cuando el TS se activa, activa una reparación del cliente CM (ccmsetup.exe / remediate), luego permanece en esa pantalla hasta que se inicia el cliente, si estuviera mirando el SMSTS.log durante esta imagen a continuación, verá el cliente iniciando, luego todas las líneas rojas "No se pudo iniciar el cliente CCM 0x8007022", una y otra vez, hasta que se inicie el servicio, que luego desencadena otro reinicio ...
Actualizar OS Image22

Actualizar OS Image23
En este punto, el sistema se está reiniciando y va a activar el archivo SetupComplete.cmd por segunda vez, esto corresponde a la imagen de arriba con el archivo SetupComplete.log. El sistema se reinicia en la "pantalla de bienvenida" negra con la rueda giratoria, donde permanece durante el resto del TS. SetupComplete se ejecuta de nuevo, activa la secuencia de tareas, carga ProgressUI y luego continúa con el siguiente paso, como se muestra a continuación. En mi ejemplo, tengo el paso "Pausa - Símbolo del sistema" como el paso que sigue directamente a la actualización, lo que me hizo más fácil mirar los registros y tomar una captura de pantalla.

Actualizar OS Image16
Actualizar OS Image17
Después de la actualización y de iniciar sesión, verá que la actualización ha eliminado todas mis personalizaciones.

Demostración 4: actualización exitosa con controladores

Este 95% es el mismo que en la última situación, pero mostraré solo los pocos cambios para aplicar controladores.
Actualizar OS Image32
Actualizar OS Image31
Actualizar OS Image30
La línea de comandos CM Builds agrega el modificador / installdrivers con la ubicación de los controladores, donde se almacenaron en la variable DRIVERS01.
Luego, durante la actualización, el motor de configuración aplica esos controladores.

Una cosa a tener en cuenta, si le dice que use controladores y no proporcione controladores, también suceden cosas malas:
Actualizar OS Image33
La mayoría de las veces que vi el error 0x80070003 se debió a que los controladores no se descargaron correctamente o algo con los controladores salió mal. Construya algo de lógica adicional en su TS para evitar este problema.

Demostración 5 - Fase de nivel inferior de actualización fallida

Esta demostración será una falla durante la fase de nivel inferior del motor de configuración, para simular fallas, haré restablecimientos completos durante la actualización.
Aquí comencé la actualización, y en 12% reinicié la máquina
Actualizar OS Image25
Después de reiniciar e iniciar sesión:
Actualizar OS Image26
El cliente CM se encuentra actualmente en modo de aprovisionamiento y el cliente CM está desactivado.
Para resolver eso:

Invoke-WmiMethod -Namespace "rootccm" -Class "SMS_Client" -Name "SetClientProvisioningMode" $false c: windowsccmccmeval.exe

Esos comandos restaurarán el cliente CM y le permitirán iniciar el Centro de software:
Actualizar OS Image27
Sin embargo, en este punto, el motor de secuencia de tareas se bloquea y el cliente no hará mucho hasta que lo elimine.

Get-WmiObject -Namespace RootCCMSoftMgmtAgent -Class CCM_TSExecutionRequest | Eliminar-WmiObject

Actualizar OS Image28
Puede ver que eliminó el TS y ni siquiera se muestra en el centro de software actualmente.
¡Pero el SMSTSLogsmsts.log todavía está ahí! Aclaremos eso también.

Set-Service smstsmgr -StartupType manual Start-Service smstsmgr

Actualizar OS Image29
Aquí, el registro de smsts se ha fusionado nuevamente en la carpeta principal y ha borrado completamente la secuencia de tareas. Una actualización rápida del centro de software ahora muestra el TS allí y eso ha fallado. En este punto, puede activar la actualización nuevamente, pero aún así recomendaría reiniciar antes de intentarlo.

Demostración 6 - Actualización fallida de SafeOS / Primera o segunda fase de inicio

Esta demostración será una falla durante las otras fases del motor de configuración, para simular fallas, haré restablecimientos completos durante la actualización. Solo para tener en cuenta, una falla en cualquiera de las fases después de la fase de nivel inferior, obtiene los mismos resultados de la secuencia de tareas.

Para esta prueba, agregué una pausa en el grupo de reversión para confirmar que se activa la reversión:
Actualizar OS Image34
En la imagen a continuación, comencé la actualización y ahora pasó el reinicio en la fase SafeOS. Ahora estoy durante un restablecimiento completo. (Reinicio inesperado)
Actualizar OS Image35
El sistema operativo inicia su recuperación de deshacer cambios:
Actualizar OS Image36
El motor de configuración activa SetupRollback.cmd, que activa BootStrap y verá reaparecer la IU de progreso de TS:
Actualizar OS Image37
Si bien TSProgressUI se muestra arriba, esto es lo que sucede en los registros:
Actualizar OS Image38
Se inicia SetupRollback.cmd, activando el TSMBootstrap, que vuelve a poner en marcha la secuencia de tareas. También establece Var _SMSTSSetupRollback = True.
Luego, el TS verifica el cliente CM y descubre que debido a que la máquina no se actualizó, sino que se revertió, no necesita reparar el cliente, solo habilítelo:
Actualizar OS Image39
Actualizar OS Image40
Ahora que el TS ha completado "exitosamente" el paso de actualización del sistema operativo, puede continuar, y cuando se trata del grupo de reversión, ahora que_SMSTSSetupRollback es verdadero, ejecutará ese grupo y mi paso de pausa:
Actualizar OS Image41
Actualizar OS Image42

En este punto, continuará ejecutando el resto de su secuencia de tareas y saldrá con gracia.

Puede ver la diferencia entre un reinicio que ocurre durante la fase de nivel inferior y que ocurre después de eso. Preferiría que suceda después del primer reinicio, ya que TS se recupera y CM Client está bien. Esta es la razón por la que hemos elegido usar el interruptor "/ MigNEO disabled", para que la actualización pase la fase de nivel inferior lo más rápido posible al ejecutar la actualización a través de una secuencia de tareas.

Consejos

Probando por ti mismo

  • Si desea comprender más este proceso y ejecutar algunas pruebas usted mismo, le recomiendo seguir el esquema básico de cómo ejecuté mis pruebas.
  • Secuencia de tareas muy simple, establezca algunas variables y opciones, y luego establezca una pausa después del paso de actualización. También considere usar el depurador de secuencia de tareas
  • Elimine también el archivo smsts.log antes de iniciar la actualización, lo que facilitará la búsqueda de la parte del registro que desee.
  • Abra un "CMTrace remoto" en la máquina (\ ComputerNameC$ccmlogssmstslogsmsts.log) para que pueda ver los registros en otra máquina a medida que avanza la actualización.

Usar medios actualizados

  • Si no puede habilitar las "Actualizaciones dinámicas" en el paso, asegúrese de actualizar los medios sin conexión usando WimWitch u OSDBuilder.
  • Verifique el VLSC para obtener medios de actualización con regularidad, luego utilícelo para su Base que actualiza regularmente.
  • Actualizaciones dinámicas, no puedo hablar lo suficiente sobre la importancia de incluir actualizaciones dinámicas

Problemas comunes

  • Para ser justos, este paso no tiene problemas, funciona como se esperaba 100% del tiempo. La parte que tiene problemas es el motor de configuración Windows 10. Pero dado que el motor de configuración Windows 10 está tan estrechamente vinculado a este paso, las líneas a menudo se vuelven borrosas y los usuarios / otras personas de TI a menudo dicen "El TS falló" cuando se trataba de un problema de configuración de Windows debido a un problema de compatibilidad o algo más que falló, pero dado que sucedió durante la secuencia de tareas, el administrador de ConfigMgr suele estar pendiente de resolverlo.
    • Realice una selección previa de las máquinas para actualizarlas, ejecute informes para encontrar máquinas con poco espacio en disco u otros recursos bajos. Encuentre máquinas con software de nivel inferior.
  • Problemas de actualización de Windows 10
    • Conozca cómo funciona la actualización Windows 10, mire genérico Documentación de Windows 10.
    • Software de seguridad de terceros.
      • El software Full Disk Encryption con Pre-Boot realmente ha causado problemas y, a menudo, se trata de problemas específicos del modelo. Quédate con Bitlocker
      • AntiVirus / AntiMalware / Scanning Tools. Hemos tenido estas partes de bloqueo del proceso de actualización y también bloqueamos archivos durante la migración. Asegúrese de tener todas las excepciones en su lugar
        • c: Windowsccmcache
        • C: _SMSTaskSequence
        • C: $Windows. ~ BT
        • C: WindowsPanther
        • C: Windows.old
        • C: WindowsServiceProfilesNetworkServiceAppDataLocalPeerDistPub

Publicaciones de blog relacionadas

Resumen

En este punto, es de esperar que tenga una buena comprensión de lo que hace el paso y, como beneficio adicional, también un poco más sobre el motor de actualización Windows 10. MS Docs ha mejorado mucho, mucho mejor que hace un par de años, cuando nos estábamos acostumbrando por primera vez a este mundo de Windows como servicio. Si tiene escenarios adicionales que le gustaría que demuestre, comuníquese conmigo en Twitter: @gwblok o @ RecastSoftware.

Acerca de Recast Software
1 de cada 3 organizaciones que utilizan Microsoft Configuration Manager confían en Right Click Tools para detectar vulnerabilidades y remediarlas más rápido que nunca.
Descargar herramientas gratuitas
Solicitar precio

Vea cómo Right Click Tools está cambiando la forma en que se administran los sistemas.

Aumente la productividad de inmediato con nuestra versión limitada y gratuita de la edición Community.

Comience con Right Click Tools hoy:

Compartir este:

Ayuda

  • Este campo es para fines de validación y no debe modificarse.

Contacto

  • Este campo es para fines de validación y no debe modificarse.
es_MXSpanish