クイック実行(C2R)版の「Microsoft Office」アプリは、Windows Updateではなく、アプリ自身に組み込まれた自動更新機能で更新されます。手動で更新を開始したり、バージョンを確認したりするのは、少し面倒な操作が必要です。そこで、スタートメニューからワンクリックでできるようにしてみました。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
サポートライフサイクル期間中にある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つ少なくなりましたが、これから更新しようとするアプリを開くのは効率が悪い気がします。
以前、本連載でこのことに触れ、コマンドラインから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更新チャネルの以前の名称と現在の名称 |
以前の記事(第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 }
次のバッチファイル「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
@ECHO OFF "C:\Program Files\Common Files\Microsoft Shared\ClickToRun\OfficeC2RClient.exe" /update user displaylevel=True ECHO Launched the Office update TIMEOUT 15
これらのバッチファイルを「スタートメニュー」や「スタート」(スタートメニューの横のエリア)に登録(ピン留め)しておくと、素早くバージョン情報の確認や手動更新を開始できて便利だと思いました。筆者は毎月第2火曜日の翌日に、以前のスクリプトをいつもコマンドラインから実行していましたが、「どこにあったっけ?」「ファイル名なんだっけ?」と思うことがよくあったからです。
スタートメニューに登録するには、バッチファイルのショートカットを任意の場所に作成し、分かりやすい名称(例えば「Officeの更新」「Officeのバージョン情報」など)とアイコン(例えば「%ProgramFiles%\Common Files\microsoft shared\ClickToRun\OfficeClickToRun.exe」のアイコン)に変更します(画面3)。
次に、Windowsエクスプローラーで「C:\ProgramData\Microsoft\Windows\Start Menu\Programs」を開いて、作成したショートカットをこの場所(またはサブフォルダ)にコピーまたは移動します(画面4)。なお、この場所にショートカットを保存するには、管理者権限が要求されます。
以上の設定でスタートメニューにショートカットが登録され、ワンクリックで実行できるようになります(画面5)。スタートメニューに登録された後は、メニューを右クリックして「その他」→「スタートにピン留めする」を選択することで、スタートにピン留めすることもできます(画面6)。
岩手県花巻市在住。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.