例えば退職者が所有者になっているアプリの一覧を表示して管理者アカウントを所有者に割り当てたりする場合、PowerShell 等を利用して所有者を変更する必要があります。
実行するには、Azure 及びPower Apps のモジュールをPowerShell にインストールする必要があります。
目次
PowerShell の拡張
Power Apps モジュールのインストール
PowerShell (管理者)を開いて以下のように入力してください。Windows ボタンを右クリックするとターミナル(管理者)が出てくるはずです。こちらを利用します。
以下のコマンドを入力します。
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell
以下のLearn を参考にしています。最新版が自動で実行されるように少々変更しています。
Get started using the Power Apps admin module | Microsoft Learn
以下のように結果が返ってくるかと思います。そこで、すべて続行として「a」を入力します。
Azure AD モジュールのインストール
以下のコマンドを実行します。
Install-Module -Name AzureAD
同じように「a」ですべて続行します。通信環境にもよりますが、基本的には数分でインストールが完了します。
これでモジュールがインストールされました。
Power Platform 環境の一覧を取得 (練習1)
試しに環境の一覧を取得してみます。
以下のコマンドを入力します。
Get-AdminPowerAppEnvironment
本モジュールの初回実行時、実行しても良いかの確認が表示されますので、常に実行する[A]としするため、「a」と入力します。
するとログインを求められます。
アカウントを選択すると、選択したアカウントにて権限のある環境の一覧が表示されます。
以下の項目が表示されます。
EnvironmentName : 〇〇
DisplayName : 〇〇
Description :〇〇
IsDefault : 〇〇
Location : 〇〇
CreatedTime : 〇〇
CreatedBy : 〇〇
LastModifiedTime : 〇〇
LastModifiedBy :〇〇
CreationType : 〇〇
EnvironmentType : 〇〇
CommonDataServiceDatabaseProvisioningState : 〇〇
CommonDataServiceDatabaseType :〇〇
Internal : 〇〇
InternalCds :〇〇
OrganizationId : 〇〇
RetentionPeriod: 〇〇
各ユーザーが保有するアプリ数の表示 (練習2)
各ユーザーが保有するアプリ数の表示を行うことができます。
Get-AdminPowerApp | Select –ExpandProperty Owner | Select –ExpandProperty displayname | Group
以下のような結果が返ってきます。
退職者がオーナー (Owner)の詳細情報をアプリの一覧を表示する (ここから本番作業)
退職者がオーナー (Owner)の詳細情報をアプリの一覧を表示するには、まず退職者のAzure ADにおけるID情報を取得します。
ここで先程インストールしたAzure ADのPowerShell モジュールを利用します。
まず、Azure AD サービスにPowerShellを利用してログインします。
Connect-AzureAD -Credential $credential
ログインが求められるダイアログが表示されますので、管理者アカウントを利用してログインします。
接続できますと、接続したアカウントやテナントの情報が返ってきます。この状態で次のコマンドを実行して退職者のIdを取得します。<退職者のメールアドレス>というところは、退職者のメールアドレスに置き換えるようにしてください。
Get-AzureADUser -ObjectId <退職者のメールアドレス>
すると以下のような項目が返ってきます。
退職者のObjectIdをメモしておきます。
次に今取得した退職者のアカウントのObjectIDを利用して、退職者が所有者のPower Apps の一覧を表示します。
Get-AdminPowerApp -Owner <退職者アカウントのObjectId>
すると、該当のアプリの一覧が取得されます。AppName、EnvironmentName が重要で次のステップにて必要なのでメモしておきます。
退職者のアプリのオーナー (Owner) を自分に設定する
やっと退職者のアプリを管理者アカウントに所有者を変更するところまで来ました。メモしたアプリについて以下のコマンドを実行します。
Set-AdminPowerAppOwner –AppName <AppName> -AppOwner $Global:currentSession.userId –EnvironmentName <EnvironmentName>
エラーが表示されなければ所有者変更の実行は成功です!
以下のような値が表示されます。
以上、ご参考になれば幸いです。