スタートメニューからのワンクリックで「Office」アプリの更新とバージョンを確認する方法その知識、ホントに正しい? Windowsにまつわる都市伝説(178)

クイック実行(C2R)版の「Microsoft Office」アプリは、Windows Updateではなく、アプリ自身に組み込まれた自動更新機能で更新されます。手動で更新を開始したり、バージョンを確認したりするのは、少し面倒な操作が必要です。そこで、スタートメニューからワンクリックでできるようにしてみました。

» 2021年02月03日 05時00分 公開
[山市良テクニカルライター]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windowsにまつわる都市伝説」のインデックス

Windowsにまつわる都市伝説

前にも同じようなテクニックを紹介しましたが……

 サポートライフサイクル期間中にあるWindows版の「Microsoft Office」アプリ(以下、Officeアプリ)は、現在、そのほとんどが「クイック実行(Click to Run、C2R)」版になりました。以前の「MSI(Windowsインストーラー形式)」版のOfficeアプリはWindows Updateで更新プログラムが提供されますが、C2R版のOfficeアプリはアプリ自身が備える自動更新機能によって最新状態に維持されます。

 重要なセキュリティ更新やバグ修正をいちはやく導入するためには、手動で更新を開始すればよいのですが、それには「Microsoft Word」や「Microsoft Excel」など、Officeアプリの1つを開き、「アカウント」(「Microsoft Outlook」の場合は「Officeアカウント」)ページの「今すぐ更新」をクリックするという面倒な操作が必要です(画面1)。

画面1 画面1 Officeアプリを手動で更新するために、アプリを開始して「アカウント」ページから「今すぐ更新」をクリックするのは少し面倒

 以前は、ドキュメントの編集画面を開いて「ファイル」メニューから「アカウント」を開く必要がありました。それが、アプリ起動直後、ドキュメントの編集画面に入る前に「アカウント」ページにアクセスできるようになり、ステップが1つ少なくなりましたが、これから更新しようとするアプリを開くのは効率が悪い気がします。

 以前、本連載でこのことに触れ、コマンドラインからOfficeアプリのバージョンを確認したり、手動更新を開始したりする方法を紹介しました。

 上記記事で紹介したコマンドラインやPowerShellスクリプトは、現在のC2R版Officeアプリ、例えば「Office 2016」「Office 2019」「Microsoft 365 Apps for Enterprise/Business」、家庭用「Microsoft 365 Apps」でも使える方法です。

 しかし、当時とは製品名や更新チャネルが大きく変わってしまいました。Microsoft 365 Apps for Enterpriseは、当時の「Office 365 ProPlus」のことです。以前の更新チャネルの名称と現在の名称は表1の通りです。新たに「月次エンタープライズチャネル/Monthly Enterprise Channel」が追加されました。

以前の名称 現在の名称
月次チャネル/Monthly Channel 最新チャネル/Current Channel
半期チャネル/Semi-Annual Channel 半期エンタープライズチャネル/Semi-Annual Enterprise Channel
半期チャネル(対象指定)/Semi-Annual Channel(Targeted) 半期エンタープライズチャネル(プレビュー版)/Semi-Annual Enterprise Channel(Preview)
月次エンタープライズチャネル/Monthly Enterprise Channel
表1 Office更新チャネルの以前の名称と現在の名称

新しい更新チャネルに対応させた「get-m365ver.ps1」

 以前の記事(第102回)は、Officeアプリのバージョンと更新チャネルの設定(ローカルの既定の設定およびポリシー設定)情報を取得するPowerShellスクリプト「get-o365ver.ps1」を紹介しました。

 スクリプトの詳細については第102回の記事を見ていただくとして、今回はこのスクリプトを修正し、新しい製品名と更新チャネル名に対応させてみました。以下の「get-m365ver.ps1」です。Windows PowerShellやPowerShell Coreで実行すれば(管理者権限は不要)、Officeアプリを開くことなく、情報を取得することができます(画面2)。

$O365CurrentVer = ""
$O365CurrentCdn = "" 
$O365CurrentPol = ""
$O365CurrentVer = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -ErrorAction SilentlyContinue).VersionToReport 
$O365CurrentCdn = (Get-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" -ErrorAction SilentlyContinue).CDNBaseUrl
$O365CurrentPol = (Get-ItemProperty -Path "HKLM:\SOFTWARE\policies\microsoft\office\16.0\common\officeupdate" -ErrorAction SilentlyContinue).updatebranch
if ($O365CurrentVer.Length -eq 0) {
    Write-Host "Microsoft 365 Apps (C2R) is not installed on this PC."
}
else
{
    Write-Host "Microsoft 365 Apps (C2R) Current Version: "$O365CurrentVer
    switch ($O365CurrentCdn) {
        "http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60" {$O365CurrentCdn = "Current Channel"}
        "http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be" {$O365CurrentCdn = "Current Channel (Preview)"}
        "http://officecdn.microsoft.com/pr/55336b82-a18d-4dd6-b5f6-9e5095c314a6" {$O365CurrentCdn = "Monthly Enterprise Channel"}
        "http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114" {$O365CurrentCdn = "Semi-Annual Enterprise Channel"}
        "http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf" {$O365CurrentCdn = "Semi-Annual Enterprise Channel (Preview)"}
        "http://officecdn.microsoft.com/pr/5440fd1f-7ecb-4221-8110-145efaa6372f" {$O365CurrentCdn = "Beta Channel"}
    }
    Write-Host  -NoNewLine "  Update Channel (Local Setting):  "$O365CurrentCdn
    if ($O365CurrentPol.length -eq 0) {
        Write-Host " *"
        $O365CurrentPol = "None"
    } else {
        Write-Host ""
        switch ($O365CurrentPol) {
            "Current" {$O365CurrentPol = "Current Channel *"}
	    "FirstReleaseCurrent" {$O365CurrentPol = "Current Channel (Preview) *"}
            "MonthlyEnterprise" {$O365CurrentPol = "Monthly Enterprise Channel *"}
            "Deferred" {$O365CurrentPol = "Semi-Annual Enterprise Channel *"}
            "FirstReleaseDeferred" {$O365CurrentPol = "Semi-Annual Enterprise Channel (Preview) *"}
            "InsiderFast" {$O365CurrentPol = "Beta Channel *"}
        }
    }
    Write-Host "  Update Channel (Policy Setting): "$O365CurrentPol
}
▲「get-m365ver.ps1」
画面2 画面2 「get-o365ver.ps1」をOfficeアプリの新名称、新更新チャネルに対応させた「get-m365ver.ps1」。有効な設定の方にアスタリスク(*)を追加するようにもした

スタートメニューやスタートにバッチファイルを登録するには?

 次のバッチファイル「getofficeversion.cmd」は、コマンドプロンプトから実行またはファイルをダブルクリックすることで「get-m365ver.ps1」を実行し、30秒後にウィンドウを閉じるものです。もう一つのバッチファイル「startofficeupdate.cmd」は、コマンドプロンプトから実行またはファイルをダブルクリックすることで、Officeアプリの手動更新を開始します。

@echo off
set PowerShell=%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
if exist %PowerShell% (
  %PowerShell% -nologo -ExecutionPolicy RemoteSigned -File C:\work\scripts\get-m365ver.ps1
) else (
  Echo %PowerShell% not found.
)
timeout 30
▲「getofficeversion.cmd」(「C:\work\scripts」の部分はスクリプトの実際の配置先に変更してください)
@ECHO OFF
"C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeC2RClient.exe" /update user displaylevel=True
ECHO Launched the Office update
TIMEOUT 15
▲「startofficeupdate.cmd」

 これらのバッチファイルを「スタートメニュー」や「スタート」(スタートメニューの横のエリア)に登録(ピン留め)しておくと、素早くバージョン情報の確認や手動更新を開始できて便利だと思いました。筆者は毎月第2火曜日の翌日に、以前のスクリプトをいつもコマンドラインから実行していましたが、「どこにあったっけ?」「ファイル名なんだっけ?」と思うことがよくあったからです。

 スタートメニューに登録するには、バッチファイルのショートカットを任意の場所に作成し、分かりやすい名称(例えば「Officeの更新」「Officeのバージョン情報」など)とアイコン(例えば「%ProgramFiles%\Common Files\microsoft shared\ClickToRun\OfficeClickToRun.exe」のアイコン)に変更します(画面3)。

画面3 画面3 「getofficeversion.cmd」と「startofficeupdate.cmd」のショートカットを作成し、アイコンを設定する

 次に、Windowsエクスプローラーで「C:\ProgramData\Microsoft\Windows\Start Menu\Programs」を開いて、作成したショートカットをこの場所(またはサブフォルダ)にコピーまたは移動します(画面4)。なお、この場所にショートカットを保存するには、管理者権限が要求されます。

画面4 画面4 スタートメニューの「プログラム」フォルダの下にショートカットを保存する

 以上の設定でスタートメニューにショートカットが登録され、ワンクリックで実行できるようになります(画面5)。スタートメニューに登録された後は、メニューを右クリックして「その他」→「スタートにピン留めする」を選択することで、スタートにピン留めすることもできます(画面6)。

画面5 画面5 スタートメニューからOfficeアプリのバージョン情報を確認する
画面6 画面6 スタートにピン留めしたアイコンをクリックするだけで、Officeアプリの手動更新を開始できる(更新がある場合)

筆者紹介

山市 良(やまいち りょう)

岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。


Copyright © ITmedia, Inc. All Rights Reserved.

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。