Windowsのアップデートやsetup.exeを使ったOSのインストールは、時に少々面倒なことがあります。通常はグラフィカルなウィザードをクリックするだけで問題ありませんが、数百台のマシンを管理したり、自動導入を行ったりする場合は、コマンドラインオプションが大きな助けになります。各マシンを個別に監視することなく、自動化、スクリプト化、高速化を実現できます。さらに、ネットワークベースのアップデートが利用できない、オフライン環境でのアップグレードにも便利です。さらに素晴らしいのは、サイレントモードで実行するように設定でき、ユーザープロンプトを回避し、事前に互換性チェックまで行えることです。これにより、後々の多くの手間を省くことができます。
Windows 11 のアップデートとインストールに setup.exe コマンドを使用する方法
Windows 11 setup.exe のコマンドラインオプション
クリックを促し続けるGUIインストーラーに困った経験があるなら、コマンドラインパラメータが秘密兵器になるかもしれません。構文は難しそうに見えますが、慣れてしまえばコマンドを連結することで、自動アップグレード、再起動のスキップ、テレメトリの制御など、ほぼあらゆる操作を実行できます。
役に立つと思われる一般的なオプションの概要を次に示します。
/Auto {Clean | DataOnly | Upgrade}– セットアップにクリーンインストール、データの更新のみ、またはインプレースアップグレードのいずれかを実行するように指示します。 /Quiet– サイレントモードで実行します。ダイアログやプロンプトは表示されません。 /NoReboot– 最後にセットアップが自動的に再起動しないようにします。 /DynamicUpdate {enable | disable}– インストール中に最新の更新プログラムを取得するかどうかを制御します。これはオフラインで作業する場合に便利です。 /Compat ScanOnly– 実際にはアップグレードせずに、互換性チェックのみを実行します。 /Unattend:<file>– 高度な自動化のために、無人応答ファイルを使用します。完全なリストを知りたい場合は、コマンドラインから実行するとすべて表示されます。詳細な説明が必要な場合は、Microsoft のドキュメント「 Windows セットアップのコマンドラインオプション」setup.exe /?をご覧ください。
最新のWindows 11 ISOを入手する
最新の状態に保つには、Microsoftから最新のWindows 11 ISOを入手してください。公式の方法ですか?メディア作成ツールを使用するか、 Windows 11のダウンロードページから直接ISOをダウンロードしてください。オフラインアップグレードやスクリプトによる導入を行う場合は、マルチエディションのx64 ISOが必要になります。ダウンロード後、WindowsにISOをマウント(ダブルクリックするだけ)し、その内容をネットワーク共有やローカルフォルダーなど、便利な場所にコピーします。setup.exeはそこから実行されます。
アップグレード前の互換性の確認
もちろん、Windowsは必要以上に難しくしているはずです。完全なアップグレードを試みる前に、リモートまたはローカルで簡単な互換性チェックを行うことをお勧めします。管理者特権Windows + Xでコマンドプロンプトを開き([コマンドプロンプト(管理者)] または [Windowsターミナル(管理者)] を選択して)、setup.exe があるフォルダに移動します。以下のコマンドを実行してください。
cd c:\Iso\W1124h2 start /wait setup.exe /AutoUpgrade /NoReboot /DynamicUpdate Disable /Compat ScanOnly
これにより、新しいビルドの互換性チェックのみが開始されます(実際のインストールは行われません)。setup.exe の終了コードを見れば状況が分かります。例えば、コードが0(または 0x00000000) であれば正常ですが、 (または 10 進数の -1047526912) と表示される場合は0xC1900200、ハードウェアに互換性がないことを意味します。ハードウェア、ディスク容量不足、またはソフトウェアの互換性がない場合は、C:\$Windows.~BT\Sources\Panther\のログを確認してください。SETUPACT. LOGやSETUPERR. LOGなどのファイルには、アップグレードが失敗する詳細な理由が記載されています。
実際の使用状況では、設定によっては奇妙なエラーコードが返されることがあります。あるマシンでは問題なしと表示されるのに、別のマシンでは全く一致しないなどです。そのため、完全なアップグレードを実行する前に、まずテスト環境でこのチェックを実行し、問題が発生するかどうかを確認することをお勧めします。
サイレントインプレースアップグレードの実行
すべての問題がチェックされ、ハードウェアとソフトウェアの互換性が確実になったら、半自動または完全なサイレントアップグレードを設定できます。例えば、run_win_upgrade.batというバッチスクリプトを作成し、ネットワーク共有に以下のような内容で保存します。
start /wait.\W1124h2\setup.exe /auto upgrade /DynamicUpdate disable /showoobe None /Telemetry Disable /Copylogs %SystemDrive%\temp /EULA Accept /compat IgnoreWarning /NoReboot
これにより、アップグレードがバックグラウンドで開始され、OOBE画面などのプロンプトがスキップされ、テレメトリが無効化され、トラブルシューティング用のログが保存されます。設定によっては1~2回プロンプトが表示される場合もありますが、ほとんどの場合、ユーザーの操作なしでスムーズに実行されます。ただし、/NoRebootを追加すると、後で手動で再起動が必要になるため、ご注意ください。
複数のマシンでこの作業を行う場合は、setup.exe と同じフォルダにSetupConfig.iniファイルを作成してオプションを指定することを検討してください。次のような行を追加してください。
[SetupConfig] NoReboot ShowOobe=None Telemetry=Disable DynamicUpdate=Disable
次に以下を実行します: setup.exe /ConfigFile setupconfig.ini
正直なところ、この方法でアップグレードを管理するのは完璧ではありません。時々、状況がおかしくなることもあり、ログは必須で、忍耐が不可欠です。しかし、一度設定してしまえば、ウィザードを使わずにネットワーク全体にWindows 11のアップデートを展開できます。この方法が、誰かの混乱を少しでも解消するのに役立つことを願っています。
まとめ
- 自動アップグレードとサイレントアップグレードには、setup.exe のコマンドライン オプションを使用します。
- システムを最新の状態に保つために最新の ISO をダウンロードしてください
- メジャーアップグレードの前に互換性スキャンを実行する
- ユーザーにプロンプトを表示せずにバックグラウンド更新を行うバッチ スクリプトを作成する
- 何か問題が起きた場合は、C:\$Windows.~BT\Sources\Panther\のログファイルを確認してください。
まとめ
正直なところ、この方法は新しいWindowsビルドの導入時に、特に企業環境では多くの時間を節約できます。最初は完璧に仕上げるのが少し面倒ですが、スクリプトを作成してしまえば、アップデートのストレスは大幅に軽減されます。ログファイルを注意深く確認し、徹底的にテストし、ハードウェアの互換性を再確認するだけです。もちろん、Windowsの仕様上、少し複雑になってしまいますが。これで誰かの作業時間が数時間短縮されれば幸いです。そして、多くの場合、この方法はうまくいきます。