コンテンツにスキップ
Zenn Dev 8chikuwa3 Articles 86496fe4979b3c

Office 2024 LTSC バイナリ自動取得+定期処理スクリプト

  • URL: https://zenn.dev/8chikuwa3/articles/86496fe4979b3c
  • 日付: 2026-06-26
  • Tier: Tier 3
  • 要旨: Office 2024 LTSCのバイナリを毎月パッチチューズデー翌水曜日に自動ダウンロードし、古いビルドを自動パージするPowerShellスクリプトをタスクスケジューラと組み合わせた構成を紹介している。スクリプト内部で「今日が第2火曜の翌水曜か」を判定することで毎日トリガーしても無駄なダウンロードを防ぎ、version型キャストによる安全な世代管理(最新2世代保持)を実現している。SYSTEMアカウントで動作させるためWinHTTPへのプロキシ設定が必要な点も示している。

詳細

  • 設計上の工夫点:

    • 業務時間内の数GB通信を避けるためトリガーを「毎日深夜」に設定し、スクリプト内で「第2火曜の翌水曜のみ実行」と判定してスキップ制御
    • ODTが生成するビルドフォルダ(16.0.xxxxx.xxxx形式)を [version]型にキャストして降順ソートし、最新2世代のみ保持して古いバージョンとCABファイルを自動削除
    • ユーザー依存のタスク(パスワード変更で止まるリスク)を避けるため、SYSTEMアカウントで実行
    • SYSTEMアカウントはGUIのプロキシ設定を持たないため、事前に netsh winhttp import proxy source=ie でWinHTTPにプロキシを設定する必要がある
  • スクリプトの主な処理(4ステップ):

    1. 今月の第2火曜日を算出し、翌日(水曜)がターゲット日かどうかを判定
    2. 一致した場合のみ ODT(setup.exe /download config.xml)を実行してダウンロード
    3. 終了コード0(成功)の場合のみパージ処理に進む
    4. Data フォルダ内の 16.0.* ディレクトリを [version]型でソートし、3世代目以降を Remove-Item で完全削除(付随CABファイルも削除)
  • タスクスケジューラの補足: デフォルトの priority 7(BELOW_NORMAL)だとダウンロードが遅い場合があり、タスクXMLをエクスポートして priority を 6(NORMAL)に変更すると改善できる