現: 2025-02-18 (火) 15:38:26 yuji ![]() Deleted an attach file: powerautomate.png at 2025-02-18 (火) 16:41:35 |
|||
---|---|---|---|
Line 1: | Line 1: | ||
+ | * Power Automate Desktop [#m7e46b62] | ||
+ | Power Automate Desktopは,Microsoftが開発したWindows専用のUI自動化ツール(RPA)。~ | ||
+ | 2020/10にPower Automateの新たなRPA機能としてリリースされた。~ | ||
+ | 直感的な操作で,作業の自動化が手軽に実現できるとMicrosoftは言っている。~ | ||
+ | WEBブラウザ操作の自動化,デスクトップアプリ操作の自動化,Pythonスクリプト実行や,AI機能連携など,豊富なアクションを備えているRPAになっているようだ。~ | ||
+ | |||
+ | Power Automate Desktopは,Power Automateの有償プランの一つである[[アテンド型 RPAのユーザーごとのプラン>https://japan.flow.microsoft.com/ja-jp/pricing/]]で使用可能な機能の一つでもあるらしい。~ | ||
+ | #ref(power_platform.png,,40%) | ||
+ | |||
+ | この「アテンド型 RPAのユーザーごとのプラン」は,4350円/月でPower Automate(Power Automate Desktopを含んでいる)を利用することが出来る。~ | ||
+ | このプランだと,クラウドフローのプレミアムコネクタも使用できる。~ | ||
+ | |||
+ | Power Automateの機能には以下がある。~ | ||
+ | - クラウドフロー~ | ||
+ | Microsoft TeamsやOneDriveやSharePoint OnlineといったMicrosoft 365サービスだけでなく,SlackやTwitterやBoxといったクラウドサービスと接続できるコネクタと呼ばれる機能(PaaS)が提供されている。~ | ||
+ | APIによる自動化が実現できるデジタルプロセスオートメーション(DPA)とも呼ばれている機能。~ | ||
+ | 2021/03時点で500弱のコネクタがあるようだ。~ | ||
+ | 提供されているコネクタには,有償プランで利用できるPremiumコネクタ,FreeプランやMicrosoft 365の複数のプランで使用可能なStandardコネクタがある。~ | ||
+ | - デスクトップフロー~ | ||
+ | 主にデスクトップの自動化を行うRPA機能。~ | ||
+ | Power Automate Desktopはこれに含まれる機能のようだ。つまりPower Automate Desktopは,Power Automateというサービスの一機能ということになる。~ | ||
+ | |||
+ | 2021/03の発表で,このデスクトップフローにあたるPower Automate Desktopが''Power Automate Desktop for Windows 10''としてWindows 10で一部使用制限があるのだが無償で使用出来るようになった。~ | ||
+ | 残念ながら無償で使用する場合は,クラウドフローのPremiumコネクタは使用できない。~ | ||
+ | |||
+ | ** Power Automate Desktop for Windows 10のインストール [#r86eae50] | ||
+ | - [[MSのサイト>https://go.microsoft.com/fwlink/?linkid=2102613]]からインストーラーをダウンロードする。~ | ||
+ | - ダウンロードした''Setup.Microsoft.PowerAutomateDesktop.exe''をダブルクリックで実行する。~ | ||
+ | - 使用条件などを確認したらチェックボックスにマークしてインストールする。~ | ||
+ | - WEBブラウザの拡張機能をインストールする。~ | ||
+ | WEBブラウザを用いた自動操作が可能になるようだ。~ | ||
+ | Firefoxを使っているので,Mozilla FirefoxをクリックしてFirefox用のアドオンをインストールした。~ | ||
+ | Google ChromeやMicrosoft Edge用の拡張機能も用意されているので,使用しているWEBブラウザ用の拡張機能をインストールしておく。~ | ||
+ | |||
+ | Windows 11には標準でStore版のPower Automate for Windowsがインストールされる。~ | ||
+ | |||
+ | ** Power Automate Desktopを利用できるアカウント [#yff8c642] | ||
+ | Power Automate DesktopはMicrosoftのクラウドサービスなので,このサービスで使用出来るアカウントが必要になる。~ | ||
+ | |||
+ | 使えるアカウントには以下がある。~ | ||
+ | - 個人のMicrosoftアカウント~ | ||
+ | @outlook.com,@outlook.jp,@hotmail.comなどのメールアドレスや,Microsoftのサービスを利用する際に作成してあるMicrosoftアカウント。~ | ||
+ | - 組織または学校のアカウント(Entra ID)~ | ||
+ | 会社などで契約しているMicrosoft 365(Office 365)のサービスにサインインするときの組織アカウント。~ | ||
+ | - Power Automateのアテンド型 RPAプランのアカウント~ | ||
+ | Power Automateの[[アテンド型RPAのユーザーごとのプラン>https://www.microsoft.com/ja-jp/power-platform/products/power-automate/pricing]]を契約してライセンスを付与した組織または学校のアカウント(Entra ID)。~ | ||
+ | |||
+ | ** Power Automate Desktopの有償版と無償版での違い [#e510a207] | ||
+ | 無償版のPower Automate Desktopでは利用できる機能に制限がある。~ | ||
+ | |||
+ | *** 使用アカウントによる有償版と無償版との違い [#t3f226b7] | ||
+ | |アカウント |Power Automate Desktopの種類 |h | ||
+ | |個人のMicrosoft アカウント |無償版のPower Automate Desktop| | ||
+ | |組織または学校のアカウント(Entra ID) |無償版のPower Automate Desktop| | ||
+ | |アテンド型RPAのユーザーごとのプランのアカウント(Entra ID)|有償版のPower Automate Desktop| | ||
+ | |||
+ | *** 有償版と無償版との機能の違い [#p35b37d2] | ||
+ | 無償と有償のPower Automate Desktopと大まかには以下の違いがある。(詳細は[[公式サイト>https://docs.microsoft.com/en-us/power-automate/desktop-flows/setup#sign-in-account-comparison]]参照) | ||
+ | | |無償版のPAD|有償版のPAD|h | ||
+ | |Power Automate Desktopが用意している標準アクションの利用 |○ |○ | | ||
+ | |Power Automate Desktopが用意しているプレミアムアクションの利用|× |○ | | ||
+ | |クラウドフローとの連携 |× |○ | | ||
+ | |スケジュール実行 |× |○ | | ||
+ | |トリガー実行 |× |○ | | ||
+ | |他人とフローの共有機能 |× |○ | | ||
+ | |同一アカウントによる複数PC間のフローの共有機能 |○ |○ | | ||
+ | |||
+ | 無償版でスケジュール実行やトリガー実行が出来ないのは,スケジュール実行やトリガー実行がPower AutomateのクラウドフローからPower Automate Desktopのデスクトップフローを呼び出して起動する構造になっているためと思われる。~ | ||
+ | |||
+ | このため,月末にデスクトップフローを実行するといったことが無料版のPower Automate Desktopでは出来ない。~ | ||
+ | |||
+ | トリガー実行は,例えば~ | ||
+ | - Gmailにメールが届いた~ | ||
+ | 添付ファイルをOneDriveに保存して,Power Automate Desktopのフローを実行する。~ | ||
+ | - 請求書が届いた~ | ||
+ | 請求書ファイルを保存して,そのファイルをPower Automate Desktopが処理をする。~ | ||
+ | |||
+ | のようなことが,無料版のPower Automate Desktopでは実現できない。~ | ||
+ | |||
+ | また,デスクトップフローを実行するには,Power Automate Desktopを起動して,デスクトップフローを選択してそれを実行しないと動かない。~ | ||
+ | |||
+ | つまり自動化と言っているが手動なわけです ;( | ||
+ | |||
+ | これらは,残念な仕様ですね。~ | ||
+ | |||
+ | *** Windows 10 HOME/Proでの違い [#fc0ee2ff] | ||
+ | 有償プランであるPower Automateの「アテンド型 RPA のユーザーごとのプラン」を契約しても,Windows 10 Homeではスケジュール実行やトリガー実行は出来ないみたいだ。困った仕様ですなぁ。~ | ||
+ | |||
+ | ** Power Automate Desktopでのデスクトップフローの保存先 [#x5363297] | ||
+ | PowerAutomate Desktopが作成・使用するファイルをデスクトップフローと呼んでいる。~ | ||
+ | |||
+ | このデスクトップフローのファイルは,その使用するMicrosoftアカウントの種類によりOneDriveまたはMicrosoft Dataverseに保存されて実行される。~ | ||
+ | |アカウント |フローの保存場所 |h | ||
+ | |個人のMicrosoftアカウント |個人のOneDrive | | ||
+ | |組織または学校のアカウント |既定の環境のMicrosoft Dataverse| | ||
+ | |Power Automateのアテンド型RPAのユーザーごとのプラン |複数の環境のMicrosoft Dataverse| | ||
+ | |||
+ | 組織または学校のアカウント使用時の保存先であるMicrosoft Dataverseは,Power PlatformやDynamics 365のデータの保管に使用されているクラウド型のDB。~ | ||
+ | そこにデスクトップフローが保存される。PCのローカルストレージにはデスクトップフローを保存できない仕様になっている。~ | ||
+ | Power Automate Desktopというのは,Microsoftのクラウドネイティブなアプリケーションということ。~ | ||
+ | |||
+ | この仕様により,無料版のPower Automate Desktopでは作成したデスクトップフローの共有使用は出来ないようになっている。~ | ||
+ | 同じアカウントを複数PCで使った場合は,デスクトップフローは共有出来るというかPower Automate Desktopから利用できるようになる。~ | ||
+ | |||
+ | また,%USERPROFILE%\AppData\Local\Microsoft\Power Automate Desktop\Console\Workspaceの中に,フロー単位で必要なファイルがキャッシュされるようだ。~ | ||
+ | ここにあるxxxxx.robinファイルがデスクトップフローだと思われる。~ | ||
+ | |||
+ | *** OneDriveに保存されている場合 [#g00f55b2] | ||
+ | OneDriveに保存される場合は,OneDriveのApps(アプリ)というディレクトリが作成されて,そこにPower Automate Desktop for Windowsというディレクトリが作成される。~ | ||
+ | デスクトップフローのファイルはここに保存される。~ | ||
+ | |||
+ | 保存されるファイルには,拡張子.metaのファイルと拡張子がないファイルが有り,拡張子がないファイルが実際のデスクトップフローのデータとなっている。~ | ||
+ | |||
+ | ファイルの中身はBase64でエンコードされたテキストファイルになっている。デコードすれば中身を確認することが出来る。~ | ||
+ | |||
+ | デスクトップフローはpackageという属性の中に格納されていて,これはUTF-16でエンコードされたファイルを含むzipファイルになっている。~ | ||
+ | |||
+ | OneDriveに保存されるので,OneDriveが使用できるPCだとデスクトップフローのファイルがPCにも同期される。~ | ||
+ | |||
+ | 次のようなPowerShellスクリプトでデコードできた。~ | ||
+ | $c = Get-Content "ファイル名" | ||
+ | $bytes = [System.Convert]::FromBase64String($c) | ||
+ | [System.Text.Encoding]::UTF8.GetString($bytes) | ||
+ | |||
+ | $json = ([System.Text.Encoding]::UTF8.GetString($bytes) | ConvertFrom-Json).clientdata | ConvertFrom-Json | ||
+ | $bytes = [System.Convert]::FromBase64String($json.properties.definition.package) | ||
+ | Set-Content package.zip -Value $bytes -AsByteStream | ||
+ | これでPackageに格納されたzipファイルが取り出せる。~ | ||
+ | zipファイルを解凍してみると次のようなファイルが含まれている。~ | ||
+ | controlRepo.appmask | ||
+ | imageRepo.imgrepo | ||
+ | project.manifest | ||
+ | script.robin | ||
+ | script.robin((PowerAutomateの前身であるWinAutomationを作っていた会社Softomotiveが開発したRPA言語がrobinみたいだ。))がフローの処理を記述したものになるので,このファイルをエディタ等で開く(UTF-16)と見ることが出来る。~ | ||
+ | |||
+ | *** Dataverseに保存されている場合 [#x157a008] | ||
+ | 組織アカウントの場合はMicrosoft Dataverseに保存される。~ | ||
+ | DataverseはDBなので,DBへ問い合わせすればデータが取り出せるとは思うが未確認。~ | ||
+ | |||
+ | *** デスクトップフローのコピー [#g839f58d] | ||
+ | 上記のようにデスクトップフローのファイルは異なったユーザーで共有できない仕組みになっているので,OneDriveなどからファイルをコピーするといったことは出来ない。~ | ||
+ | |||
+ | しかし以下のようにしたら,デスクトップフローをコピーすることが出来た。~ | ||
+ | - コピー元のPowerAutomate Desktopを開いて,デスクトップフローを編集状態にする。~ | ||
+ | - 編集>全て選択をクリックする。~ | ||
+ | - Main画面で右クリックし,Ctrl-Cでコピーする。~ | ||
+ | - テキストエディターを開き,新規ファイルを作成してペーストする。~ | ||
+ | その後,ファイルに保存する。~ | ||
+ | - コピー先のPCで作成したテキストファイルを開く。~ | ||
+ | - 内容をすべて選択してクリップボードにコピーする。~ | ||
+ | - コピー先のPCでPowerAutomate Desktopを開く。~ | ||
+ | - デスクトップフローを新規作成する。~ | ||
+ | - 編集画面でMain画面でペーストする。 | ||
+ | - デスクトップフローを保存する。~ | ||
+ | |||
+ | これで,デスクトップフローを別のPCの別アカウントでコピーすることが出来た。~ | ||
+ | |||
+ | * Power Automate Desktopを使ってみる [#o1ac3f19] | ||
+ | Power Automate Desktopを起動するとMicrosoftアカウントでのサインインを求められるので,使用しているMicrosoftアカウントでサインインする。~ | ||
+ | Power Automate Desktopが起動したら,「国/地域の選択」で日本を選択して「開始する」をクリックする。~ | ||
+ | |||
+ | 自動操作を登録するために,「新しいフロー」をクリックして,フローに名前を付けて「作成」をクリックする。 | ||
+ | |||
+ | 画面左側にはアクション(自動化機能)の一覧が表示され,画面右側では変数などの詳細設定が可能。~ | ||
+ | |||
+ | アクションには,WEBブラウザの自動化アクションやExcelファイルの自動化アクションの他に,デスクトップアプリやメインフレームの操作,AzureやAWSのインスタンス操作,AI-OCRに利用アクション等,様々なアクションがある。~ | ||
+ | |||
+ | ** 使ってみて気がついたこと [#k3ad1d82] | ||
+ | - 動作がもっさり。~ | ||
+ | Power Automate Desktopでデスクトップフローを作成していると,動作がすごくもっさりしていていて使いにくい。~ | ||
+ | - ネットワーク上のリソースセキュリティの問題。~ | ||
+ | ネットワーク上にあるブックやマクロがあるワークシートなどをEXCELで開く場合は,通常はセキュリティ的に実行出来ないようになっている。~ | ||
+ | しかし,Power Automate DesktopのデスクトップワークフローでこれらのEXCELファイルの操作はなんの制限もなく実行できてしまう。~ | ||
+ | - デスクトップワークフローが作成しにくい。~ | ||
+ | デスクトップワークフローは,左にあるアクションのパーツをプログラム領域にドロップして,対話形式でプログラムしていく。~ | ||
+ | フローは上から下にリスト型で表示されるだけで,編集などがスピーディーに行えない。~ | ||
+ | - 例外処理がプログラムしにくい。~ | ||
+ | アクション毎にエラー発生時の設定や処理を設定する必要があって,わかりにくい。~ | ||
+ | - 同じアカウントを使って別のPCでのデスクトップワークフローは動作しないことが多い。~ | ||
+ | キー入力(キーを設定するのが全く直感的でない)や暗号化した文字の入力などでは,別のPCで実行すると動作しなくなる。~ | ||
+ | 常に同じPCでPower Automate Desktopを起動し,デスクトップワークフローを実行する,という実質的な制約があって使いにくい。~ | ||
+ | - 自動化出来ない事がかなり多い。~ | ||
+ | 例えば,プリンター設定画面で行わなければならないような印刷設定などは,うまく自動化出来ない。~ | ||
+ | このようなネイティブ対応(Microsoft製のアプリ)していないものの自動化は,OCR機能や画面の座標などを利用するが,これらはPower Automate Desktopで管理はできないので,うまく動かないことが多い。~ | ||
+ | - アプリケーションのUIが変更されたりすると動作しなくなる。~ | ||
+ | アプリケーションのバージョンアップ時にはUI等も変更されることがある。こんな時はPower Automate Desktopも正常に動作しなくなってしまう。動くように修正するのも簡単では無い。~ | ||
+ | - 操作毎にタイミング調整が必要になることが多い。~ | ||
+ | Power Automate Desktopでの操作は高速に処理されるから正常に操作されるアプリケーションで正常に処理されたかどうかわからないが,うまく処理されない場合よくある。~ | ||
+ | こんなときには,アプリケーションとのインターフェース時にタイミング調整(Wait)を細かく設定する必要がある。~ | ||
+ | 実行しながら調整してかなければならないため,これは簡単な作業ではない。~ | ||
+ | - 個人で使うにはライセンス料が高い。~ | ||
+ | 有償機能を使いたい場合は,低価格のライセンスでも[[2248円/月>https://www.microsoft.com/ja-jp/power-platform/products/power-automate/pricing]]がかかり費用が高い。また契約には組織アカウント(Entra ID)が必要になるので,これは実質個人では利用できない。~ |