Power Apps を使ってSharePoint リストのカスタム フォームを作成するとき既定では「既定の環境」にフォームが作成されます。
Power Apps 管理用のPowerShellコマンドを使えば、任意の「運用環境」にカスタムフォームを作成できるようになります。SharePoint リストのカスタム フォームの作成環境とそれ以外を分けて容量の管理、ポリシー管理などを管理したいというようなケースではこうした設定も必要になるでしょう。
設定変更における注意点
カスタム フォームの作成先の既定の環境を変更するには、指定先は「運用環境」である必要があります。また、作成先環境を指定したとしても既存のカスタム フォームが新たな環境に移動されることはなく、そのままです。
また、新たに指定した環境をユーザーが利用できるように「環境作成者 (環境メーカー: Envrironment Maker)」の役割を各ユーザーに対して付与する必要があります。既定の環境のままであれば、この役割の付与はすべてのユーザーに対して自動的に行われますが、新規に指定する場合は自動では行われないため運用方法を考えないといけません。たとえば、新規に追加したユーザーアカウントに対して必ずこの環境のロールの追加もするといったようなルール策定です。 さらに、既定の環境の場合はそもそも環境の削除ができませんが、それ以外の環境の場合は環境は削除しようと思えばできてしまいます。この場合、当然、この環境に含まれるカスタム フォームも一緒に削除されます。
PowerShell コマンドで指定する
Power Apps の管理者用コマンドの基本的な利用方法は下記のリンク先を参照しましょう。
PowerShell のサポート - Power Platform | Microsoft Learn
では PowerShell コマンドに移りましょう。次のコマンドを実行して既定のカスタム フォームの作成環境を確認します。
Add-PowerAppsAccount
#SharePointカスタムフォームが作成される環境の取得
Get-AdminPowerAppSharepointFormEnvironment
これにより既定の環境を使っているかどうかがわかります。既定の環境名は Default- で始まります。
環境を変更するためのコマンドは Set-AdminPowerAppSharepointFormEnvironment を使用しますが、環境名を指定する必要があります。名前はGUIDで指定する必要があるため、まずは既存の環境の一覧を確認し目的の環境の名前を把握します。
Get-AdminPowerAppEnvironment コマンドを使用します。
#環境の一覧 (運用環境のみ)
Get-AdminPowerAppEnvironment | Where-Object {$_.EnvironmentType -eq 'Production'} | Select-Object -Property EnvironmentName, DisplayName, EnvironmentType
コマンドを実行すると、運用環境の情報が一覧できます。
設定を変更していきましょう。この例では5e0b10a0 で始まる環境を指定します。次のコマンドを実行します。
#既定のカスタムフォームの作成環境を指定する (ここでは環境名は伏せています)
Set-AdminPowerAppSharepointFormEnvironment -EnvironmentName '5e0b10a0-*************'
最後に既定のカスタムフォームの作成先の環境が変わったことを確認します。
設定が反映されるまで少し待ってから、新規に SharePoint リストのカスタム フォームを作成してみましょう。環境が既定の環境ではなくなっていることがわかります。
管理センターからも確認してみましょう。環境のリソースに保存した SharePoint リストのカスタムフォームがあることが確認できます。
元の状態に戻すには、次のコマンドを実行します。
#既定の環境に戻す
Reset-AdminPowerAppSharepointFormEnvironment
#SharePointカスタムフォームが作成される環境が既定の環境に戻ったことの確認
Get-AdminPowerAppSharepointFormEnvironment