PowerShell での承認ソリューションを複数の環境に対して一括でインストールする方法を共有します。
目次
マニュアルでのインストールのパターン
一般に、承認ソリューションのインストールは承認アクションを最初に実行しようとしたユーザーがPower Automate フローを実行するとインストールされる動きになっています。
その他、マニュアルではPower Platform 管理センターから該当のソリューションであるMicrosoft Flow Approvals をインストールする事もできます。
Microsoft Dataverse 上で動作する Dynamics 365 アプリの管理 – Power Platform | Microsoft Learn
複数の環境に設定する際、例えばトレーニング環境の立ち上げや、環境戦略の初期では本作業は繰り返し作業であり、時にはミスも発生しやすい作業となります。
この操作を以下のようにPower Platform CLI によって自動化することができます。一度環境を準備してしまえば非常に便利なので今回はこちらをご紹介します。
Power Platform CLI
Microsoft Power Platform CLI とは、 シンプルなワンストップの開発者/ISV 向け CLI です。開発者はこの CLI を使用して、次に関連する Microsoft Power Platform のさまざまな操作を実行できます。
- 環境のライフサイクル
- 認証
- Microsoft Dataverse 環境
- ソリューション パッケージ
- Power Pages
- コード コンポーネント
- その他…
Power Platform CLI のインストール
Power Platform CLI をインストールする方法は 3 つあります。 VS Code 拡張機能でのインストールが簡単なのでおすすめです。
メソッド | OS のサポート | 説明 |
---|---|---|
Visual Studio Code 拡張機能のインストール | Windows、Linux、macOS | Windows 10、Windows 11、Linux、macOS 上の Visual Studio Code で PowerShell ターミナル内のコマンドを使用できるようにします。 このメソッドのみを使用してインストールする場合、既定では、コマンド プロンプト (CMD) および Windows 用 PowerShell ターミナルで PAC CLI を有効にしない限り、PAC CLI はVisual Studio Code ターミナル内のみで利用可能です |
.NET ツールを使用してインストールする | Windows、Linux、macOS | Windows 10、Windows 11、Linux、および macOS の PowerShell、CMD、または Bash シェル内でコマンドの使用を有効化します。 このインストール メソッドは、Windows のみで利用可能な pac data または特定の pac package コマンド (展開および表示) の使用を有効化しません。 |
Windows MSI を使用してインストールする | Windows のみ | Windows のみの Visual Studio Code にある PowerShell ターミナル内で、コマンドの使用を有効化します。 このインストール メソッドを使用して、インストールされたバージョンを管理することができます。 |
VS Code 拡張機能でのインストール方法
VS Code の拡張機能でPower Platform Tools
と検索してみましょう。
今回は安定稼働版を利用します。
こちらからインストールを実施してください。
サンプルコマンドの紹介
承認ソリューションのインストールを例に、Power Platform CLI のコマンドを紹介します。
サンプルコマンドは以下のとおりです。
## データインポート
$Datapath = "C:\environments.csv"
#データファイルのインポート
$envs = Import-Csv -Path $Datapath -Encoding Default
$env | Format-Table
## 繰り返し作業
foreach($env in $envs){
#承認ソリューションインストール
Write-Output $env
pac application install --environment $env.id --application-name "msdyn_FlowApprovals"
}
以下ではサンプルコマンドの意味の紹介をいたします。
CSVの環境リストの作成
環境名を繰り返し作業で利用するために、csvファイルをインポートしています。
CSVファイルは以下のようなファイルを作成してください。サンプルコマンドはCドライブ直下にenvironments.csv
という名称で保存していますが、環境によって変更してください。
DisplayName | id |
---|---|
環境の表示名1 | a186957b-6798-e55b-a6fd-d36cb4804a05 |
環境の表示名2 | f82c5bcc-f363-e509-9f13-c08debade50f |
… | … |
リアルタイムにjson形式で環境の一覧を取得して利用したいときはこちらの記事が参考になります。
環境IDは以下のコマンドで出力することができます。idとしてEnvironment Id を利用しましょう。
pac admin list
例えば以下のように出力されます。
Environment Environment Id Environment Url Type Organization Id
Contoso 00000000-0000-0000-0000-000000000000 https://contoso.crm.dynamics.com/ Production 00000000-0000-0000-0000-000000000000
Contoso Dev 00000000-0000-0000-0000-000000000000 https://contoso-dev.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-000000000000
Contoso Test 00000000-0000-0000-0000-000000000000 https://commdemos.crm.dynamics.com/ Sandbox 00000000-0000-0000-0000-000000000000
Microsoft Power Platform CLI admin コマンド グループ – Power Platform | Microsoft Learn
繰り返し作業
繰り返し作業の部分では、現在取り組んでいる環境を画面に出力した後、 msdyn_FlowApprovals
というアプリケーション(承認ソリューション)を環境にインストールしています。
この際、各環境に実行ユーザーでのアクセス権と実行ユーザーの認証プロファイルを作成している必要があります。
認証プロファイルの作成
認証プロファイルを作成することで多要素認証への対応ができるようになっています。その点がPACコマンドの利点の一つでしょう。
インストールしたVS Code の拡張機能であるPower Platform Toolsから認証プロファイルを作成します。こちらの「+」ボタンをクリックするとサインインポップアップ画面が表示されますのでウイザードに従って作成します。
複数のプロファイルを作成したときに実行プロファイルを切り替えたい時があるでしょう。
そんな時はプロファイル一覧でマウスオーバーすることで「☆」マークが表示されますので、選択して「★」にしましょう。
以上、ご参考になれば幸いです。
いつも有益な情報をありがとうございます!
「この記事を書いた人」にあるInstagramをクリックしますと、Udemy紹介ページ飛ぶようです。
細かい点ですが以上ご報告まで。
ありがとうございます!修正しました。(全然気づいてなかったです)