Exchange Server instalación de 2019 no se ejecuta según lo esperado si se inició desde PowerShell mediante Setup.exe

Síntomas

Imagine la siguiente situación:

  • Tiene previsto ejecutar una instalación desatendida para actualizar Microsoft Exchange Server 2019, Microsoft Exchange Server 2016 o Microsoft Exchange Server 2013 desde PowerShell o el símbolo del sistema mediante Setup.exe
  • El medio de instalación se encuentra en la unidad D:
  • La instalación desatendida se inicia desde PowerShell o el símbolo del sistema como "setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" en lugar de ".\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell) o "D:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell o símbolo del sistema).

En esta situación, se inicia el programa de instalación de Exchange Server y puede indicar que se ha completado correctamente. Sin embargo, Exchange no se actualiza.

Causa

Al ejecutar un comando en PowerShell o en el símbolo del sistema, las rutas de acceso de la variable de entorno del sistema "Path" se comprueban primero para comprobar el comando que se ejecuta, antes de que se compruebe la ruta de acceso actual en PowerShell o el símbolo del sistema, a menos que:

  • "." se escribe delante del comando o programa que se ejecuta en PowerShell, o
  • la tecla Tab se usa para agregar automáticamente "." delante del comando o programa que se ejecuta en PowerShell, o
  • la ruta de acceso completa se usa para ejecutar el setup.exe (por ejemplo, "D:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms") en PowerShell o en el símbolo del sistema.

PowerShell encuentra y ejecuta un archivo setup.exe ubicado en C:\Program Files\Microsoft\Exchange Server\V15\bin , en lugar de la setup.exe en la ruta de acceso actual.

Solución alternativa

Si ejecuta una actualización, use ".\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell) o "D:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell y el símbolo del sistema) para iniciar el comando.