からめもぶろぐ。

俺たちは雰囲気で OAuth をやっている

PowerApps の所有者を PowerShell で変更する

なんか煽られた気がするので書いてみます。

PowerApps で、アプリの作成者が退職したなどの理由でアカウントがなくなってしまった場合、アプリ自体は残り続けます。共有されている場合はまだいいのですが、自分だけで使っていたなどの場合は、誰もアプリを編集できない状態になってしまいます。それを回避するためにアプリの所有者を変更するという手段が提供されています。今回は PowerShell でアプリの所有者を変更してみたいと思います。

まず、組織のアプリの一覧は管理センターから見ることができます。今回は「野良アプリ」の所有者を変更してみます。

PowerApps の管理モジュールは PowerShell Gallery から入手することができます。

www.powershellgallery.com

モジュールをインポートしてログインします。

PS C:\> Import-Module Microsoft.PowerApps.Administration.PowerShell
PS C:\> Add-PowerAppsAccount

アプリの一覧を取得するのは「Get-AdminPowerApp」コマンドを使用します。

PS C:\> Get-AdminPowerApp

AppName                  : 4e3bd861-3ae1-4e15-a5e3-93e8585cbfdd
DisplayName              : パスワード マネージャー
CreatedTime              : 2018-08-24T01:33:36.3124145Z
...

AppName                  : 60ebc075-e5a3-49d3-8163-c216ecc688b0
DisplayName              : 野良アプリ
CreatedTime              : 2019-08-29T06:02:42.8999503Z
...

アプリの所有者を変更するのは「Set-AdminPowerAppOwner」を使用します。パラメーターは (Name とかいう名前になっていますが) すべて GUID で指定します。

PS C:\> Set-AdminPowerAppOwner -AppName 60ebc075-e5a3-49d3-8163-c216ecc688b0 -EnvironmentName Default-92dbed3f-d37a-4f19-a392-f6970505cc6a -AppOwner 4b34f1e2-0c77-4fbd-a8cf-94a4606021ee

Code        :
Description :
Error       :
Errors      :
Internal    : @{name=60ebc075-e5a3-49d3-8163-c216ecc688b0; id=/providers/Microsoft.PowerApps/apps/60ebc075-e5a3-49d3-81
              63-c216ecc688b0; type=Microsoft.PowerApps/apps; tags=; properties=}

変更されました!