技術情報ブログ
Power Platform
2022.09.28

削除したPower Apps・Power Automateの復元方法

エンジニア募集しています

アアーティサンではローコードエンジニアをはじめ、クラウド開発者やコンサルタントなどを募集しています。
アーティサンの仕事内容や転職にご興味のある方はこちらもご覧ください。

小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

Power AppsやPower Automateを作成している際、誤って削除したことはありませんか?

削除してしまうと、Power Apps・Power Automateの一覧画面から復元することはできません。
しかし、PowerShellを用いると、復元することは可能です。

今回は、削除したPower Apps・Power Automateの復元方法について説明します。

 

前提条件

はじめに、注意事項を記載いたします。

  • 復元することができるのは、Power Platform管理者権限のみ

  • Power Automateの場合、復元できるのは最大で28日前まで

(※Power Appsに関する制限はMS Docsから見つけることが出来ませんでしたが、おそらく上記と同程度の条件だと推測されます。詳細ご存知な方がいらっしゃれば教えてください!(笑))

Power Automateに関する詳細については、以下URLを参照してください。
Restore deleted flows with PowerShell

 

Power Apps・Power Automateの復元手順

それぞれの手順を以下にて説明します。

 

アプリ作成者と管理者用のPowerShellコマンドレットをインストール

まずは、アプリ作成者と管理者用のPowerShellコマンドレットをインストールします。

詳細については、以下URLを参照してください。
Power Apps の PowerShell サポート

インストールするには、以下コマンドをPowerShell上で実行してください。
※PowerShellは「管理者として実行する」にて起動してください。

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

インストール中、ポリシーの変更を要求されることがあるかと思いますが、全て「Y」で同意してください。

 

PowerShell実行ポリシーの変更

続いて、PowerShellの実行ポリシーを変更します。

PoweShellの実行ポリシーとは、PowerShellがコマンドを実行する条件を制御する機能であり、悪意のあるスクリプトの実行、コマンドの誤操作を防ぐためのものです。

実行ポリシーの詳細については、以下URLを参照してください。
about_Execution_Policies

今回は、ポリシーを「RemoteSigned」に変更します。

Set-ExecutionPolicy RemoteSigned

ここまでで事前準備が完了です。

以降では、実際に環境にサインインし、復元作業を行います。

 

サインイン

PowerShellにて以下コマンドを実行します。

Add-PowerAppsAccount

サインイン画面が出てきますので、サインインしてください。
(サインインする環境が複数ある場合は、復元したいリソースがある環境を選択してください。)

サインイン画面
サインイン画面

 

復元(Power Apps編)

それでは、実際にPower Appsを復元していきます。

Power Appsの復元コマンドは以下です。

Get-AdminRecoverDeletedPowerApp -AppName [Guid] -EnvironmentName [Guid]

コマンドの詳細は以下を参照してください。
Get-AdminRecoverDeletedPowerApp

上記コマンドの「AppName」と「EnvironmentName」の確認方法について、以下で説明します。

 

EnvironmentName の確認方法

先に、「EnvironmentName」の確認方法について説明します。

こちらは、Power Appsの編集のURLから確認することが可能です。

  • https://make.powerapps.com/をブラウザのURLに入力

  • サインイン

  • URLの「~/environments/〇〇/home」の〇〇部分が”EnvironmentName”です。

EnvironmentNameの確認(URL)
EnvironmentNameの確認(URL)

また、PowerShellにて以下コマンドを実行することでも確認可能です。

Get-AdminPowerAppEnvironment
EnvironmentNameの確認(PowerShell)
EnvironmentNameの確認(PowerShell)

 

AppName の確認方法

続いて、AppNameの確認方法です。

PowerShellコマンドで以下を実行します。
こちらのコマンドで、削除されたPower Appsの一覧を取得できます。

※「Guid」には、先程取得した「EnvironmentName」を記載してください。

Get-AdminDeletedPowerAppsList -EnvironmentName [Guid]

復元したいアプリの「AppName」を取得してください。

AppNameの確認(PowerShell)
AppNameの確認(PowerShell)

 

復元の実行

それでは、取得した「EnvironmentName」と「AppName」をもとに、復元しましょう。
復元コマンドは、前述したとおりです。

Get-AdminRecoverDeletedPowerApp -AppName [Guid] -EnvironmentName [Guid]

上記コマンドを実行すると、Power Appsが無事復元できていることが分かると思います!

※稀にPower Appsの一覧画面に表示されないことがあります。
その場合は、少し時間を置くか、別のアプリを作成・保存し、一覧画面へ戻ると表示されると思います。

 

復元(Power Automate編)

続いて、Power Automateの復元を行います。

Power Automateの復元コマンドは以下です。

Restore-AdminFlow -FlowName [Guid] -EnvironmentName [Guid]

コマンドの詳細は以下を参照してください。

上記コマンドの「EnvironmentName」の確認方法については前述した手順と同様です。

「FlowName」の確認方法について説明します。

 

FlowNameの確認方法

PowerShellコマンドで以下を実行します。
こちらのコマンドで、削除されているorされていないにかかわらず、すべてのPower Aumateの一覧を取得できます。

※「Guid」には、先程取得した「EnvironmentName」を記載してください。

Get-AdminFlow -EnvironmentName [Guid]  -IncludeDeleted $true

復元したいアプリの「FlowName」を取得してください。

FlowNameの確認(PowerShell)
FlowNameの確認(PowerShell)

 

復元の実行

それでは、取得した「EnvironmentName」と「FlowName」をもとに、復元しましょう。 復元コマンドは、前述したとおりです。

Restore-AdminFlow -FlowName [Guid] -EnvironmentName [Guid]

上記コマンドを実行すると、Power Automateが無事復元できました!

※稀にPower Automateの一覧画面に表示されないことがあります。
その場合は、少し時間を置くか、別のフローを作成・保存し、一覧画面へ戻ると表示されます。

 

補足:やっぱりバックアップは大事!

いかがでしたでしょうか?

上記手順を行っていただくと、Power AppsやPower Automateを復元することは可能です。

ただし、権限がPower Platformの管理者権限が必要だったり、PowerShellを使用したりと、少々ハードルが高くなってしまいます。。。

基本だとは思いますが、上記手順を行わなくてもいいように、定期的にバックアップを取得することは大事だなと再確認しました。

 

補足の補足:Power Appsのバージョン復元について

Power Appsにはバージョン管理機能があるため、物理的なバックアップは不要だと思っていませんか? 実は、バージョンの復元は過去6ヶ月以内に作成されたバージョンのみという制約があります。

Power Appsのバージョン管理画面
Power Appsのバージョン管理画面

よって、Power Appsも物理的なバックアップは取得しておくに越したことはありません!

 

おわりに

今回は、削除したPower Apps・Power Automateの復元方法について説明しました。

誤って削除したPower AppsやPower Automateを復元する際には、PowerShellを用いることで対応可能です。

ただし、少々ハードルが高いので、定期的なバックアップも必要な事項ですね!

 

 

弊社ではPower Platform(Power AppsやPower Automateなど)を用いてお客様の業務を自動化するご支援を数多く承っております。

業務の中で、「普段手動でやっている業務を自動化できないか」というような疑問がある場合には、お気軽にアーティサン株式会社までお問い合わせください。

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き♥♥)、現在は東京都在住

1990年4月9日生まれ

30才にしてメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

シェアする
記事カテゴリ
最新記事
2023.03.23

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針(2)

2023.03.03

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針(1)

2023.02.22

今さら聞けないPower Automate:フローの種類とその違い(2)

2023.02.08

今さら聞けないPower Automate:フローの種類とその違い(1)

2023.01.25

【2023年1月更新】Power Automate 初心者 ~ 中級者 向けロードマップ

2021.06.23

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第1回】4つのシーンごとに手法を比較、その最適解とは?

2
2021.07.14

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第2回】フロー作成でエラー発生!

3
2021.09.03

【Power AutomateでExcelデータをSharePointにインポートするために考えること 第8回】トリガーの条件の指定方法

4
2020.10.02

世界に広がる Power Apps「モデル駆動型アプリ」のココがスゴイ!【第1回】

5
2022.02.16

SharePointのビューに擬似的なアクセス制限をかける方法(1)

--------------------------------------------------->
モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術ItDX情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layout
PageTop
ページトップに戻る