現: 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)が必要になるので,これは実質個人では利用できない。~
  

  • PC/RPA/Power Automate Desktop のバックアップ差分(No. All)
    • 現: 2025-02-18 (火) 15:38:26 yuji
      • Deleted an attach file: powerautomate.png at 2025-02-18 (火) 16:41:35

トップ   差分 バックアップ 複製 名前変更 リロード   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ   最新ページのRSS 1.0 最新ページのRSS 2.0 最新ページのRSS Atom
Counter: 106, today: 2, yesterday: 1