Exchange Server 2019 セットアップは、Setup.exe を使用して PowerShell から開始した場合、想定どおりに実行されません

現象

次のような状況で問題が発生します。

  • 無人セットアップを実行して、Setup.exe を使用して PowerShell またはコマンド プロンプトから 2019、Microsoft Exchange Server 2016、または Microsoft Exchange Server 2013 Microsoft Exchange Serverアップグレードする予定です。
  • セットアップ メディアは D: ドライブにあります
  • 無人インストールは、PowerShell またはコマンド プロンプトから "" (PowerShell) または "setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell またはコマンド プロンプト) ではなく ".\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTermsD:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" として開始されます。

この状況では、Exchange Server セットアップ プログラムが起動し、正常に完了したことを示す場合があります。 ただし、Exchange 自体は更新されません。

原因

PowerShell またはコマンド プロンプトでコマンドを実行すると、次の場合を除き、PowerShell またはコマンド プロンプトの現在のパスがチェックされる前に、システム環境変数 "Path" のパスが最初にチェックされ、実行されているコマンドが確認されます。

  • "." は、PowerShell で実行されているコマンドまたはプログラムの前に入力されます。
  • Tab キーは、PowerShell で実行されているコマンドまたはプログラムの前に "." を自動的に追加するために使用されます。
  • 完全パスは、PowerShell またはコマンド プロンプトで setup.exe ("D:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms"など) を実行するために使用されます。

にある setup.exe ファイル C:\Program Files\Microsoft\Exchange Server\V15\bin が検出され、現在のパスの setup.exe ではなく、PowerShell によって実行されます。

回避策

アップグレードを実行する場合は、".\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell) または "D:\setup.exe /m:upgrade /IAcceptExchangeServerLicenseTerms" (PowerShell とコマンド プロンプト) を使用してコマンドを開始します。