Power Automate Desktop

Power Automate Desktopを更新するPowerShellスクリプト

公式ブログを見れば分かる通り、Power Automate Desktop(PAD)は頻繁に更新されます。

自分のPCにインストールしてあるPADのバージョンと最新版のPADのバージョンとを見比べて、新しいバージョンがリリースされていたら更新する、という作業が面倒だったので、手間を軽減するためのスクリプトをPowerShellで書いてみました。

取得したバージョン情報は後で使うこともあるので、クリップボードにコピーする処理も入れています。

上記スクリプトを実行すると、下図のようにインストールされているPADのバージョンと最新版のPADのバージョンがメッセージボックスで表示され、「はい」ボタンをクリックすることで、最新版のPADのインストールが行われます。

最新版のPADのバージョンの取得

PAD上でバージョン確認を行った際、バージョン情報はMicrosoftのサーバー上にあるJSONデータ(PADUpdate.json)から取得しています。

同様に、スクリプトからもInvoke-RestMethodを使って情報を取得するようにしました。

$LatestVersion = (Invoke-RestMethod -Method Get -Uri "https://download.microsoft.com/download/b/d/8/bd8409df-7b80-4ef7-89c5-5a7a941a5093/PADUpdate.json" -ContentType "application/json").latestVersion.version

ただ、下記の通りアプリのアップデート通知は最新版のリリース日から7日後に来るとの情報もあったため、先にインストーラーをダウンロードしておいて、インストーラーからバージョンを取得する方法も用意しています(UpdatePAD2.ps1)。

インストールされているPADのバージョンの取得

インストールされているPADのバージョンは、下記の通りレジストリから取得しています。
その際、「DisplayName」の値が「Power Automate Desktop」の項目が複数あったため「BundleVersion」の有無で判断するようにしました。

$InstalledVersion = (Get-ChildItem -Path ("HKLM:SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall", "HKLM:SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall") | ForEach-Object {Get-ItemProperty $_.PsPath} | Where-Object {($_.DisplayName -eq "Power Automate Desktop") -and ($_.BundleVersion -ne $NULL)}).BundleVersion

インストーラーのダウンロードに時間が掛かるのが難点ですが、これでバージョンチェックの手間が省けるようになりました。

参考Webサイト

Power Automate DesktopでPPAPしてみた。前のページ

Power Automate DesktopでPowerPointマクロを実行する方法次のページ

関連記事

  1. PowerShell

    [PowerShell]UI Automationで電卓を操作する方法

    「PowerShell UI Automation 操作」といったキー…

  2. Power Automate Desktop

    [Power Automate Desktop]Google Driveにファイルをアップロードする…

    前々回の記事でGoogle Drive APIの実行に必要なアクセスト…

  3. PowerShell

    winmail.datから添付ファイルを取り出すPowerShellコード

    Outlook以外のメールクライアントを使用しているのであれば、一度は…

コメント

  • コメント (0)

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

Time limit is exhausted. Please reload CAPTCHA.

Translate

Chinese (Simplified)Chinese (Traditional)EnglishFrenchGermanJapaneseKoreanRussianSpanish

最近の記事

アーカイブ

PAGE TOP