Udemy 新コース: 作って学ぶPower BI!

退職者のPower Apps の所有者 (Owner) を自分に設定 | Power Platform をPoweShell から操作

assorted colors umbrella

例えば退職者が所有者になっているアプリの一覧を表示して管理者アカウントを所有者に割り当てたりする場合、PowerShell 等を利用して所有者を変更する必要があります。

実行するには、Azure 及びPower Apps のモジュールをPowerShell にインストールする必要があります。

PowerShell の拡張

Power Apps モジュールのインストール

PowerShell (管理者)を開いて以下のように入力してください。Windows ボタンを右クリックするとターミナル(管理者)が出てくるはずです。こちらを利用します。

以下のコマンドを入力します。

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

以下のLearn を参考にしています。最新版が自動で実行されるように少々変更しています。

Get started using the Power Apps admin module | Microsoft Learn

以下のように結果が返ってくるかと思います。そこで、すべて続行として「a」を入力します。

Azure AD モジュールのインストール

以下のコマンドを実行します。

PowerShell
Install-Module -Name AzureAD

同じように「a」ですべて続行します。通信環境にもよりますが、基本的には数分でインストールが完了します。

これでモジュールがインストールされました。

Power Platform 環境の一覧を取得 (練習1)

試しに環境の一覧を取得してみます。

以下のコマンドを入力します。

PowerShell
Get-AdminPowerAppEnvironment

本モジュールの初回実行時、実行しても良いかの確認が表示されますので、常に実行する[A]としするため、「a」と入力します。

するとログインを求められます。

アカウントを選択すると、選択したアカウントにて権限のある環境の一覧が表示されます。

以下の項目が表示されます。

PowerShell
EnvironmentName : 〇〇
DisplayName : 〇〇
Description :〇〇
IsDefault : 〇〇
Location : 〇〇
CreatedTime : 〇〇
CreatedBy : 〇〇
LastModifiedTime : 〇〇
LastModifiedBy :〇〇
CreationType : 〇〇
EnvironmentType : 〇〇
CommonDataServiceDatabaseProvisioningState : 〇〇
CommonDataServiceDatabaseType :〇〇
Internal : 〇〇
InternalCds :〇〇
OrganizationId : 〇〇
RetentionPeriod: 〇〇

各ユーザーが保有するアプリ数の表示 (練習2)

各ユーザーが保有するアプリ数の表示を行うことができます。

PowerShell
Get-AdminPowerApp | Select –ExpandProperty Owner | Select –ExpandProperty displayname | Group
ご注意

数が多い場合時間がかかることがあります。

以下のような結果が返ってきます。

退職者がオーナー (Owner)の詳細情報をアプリの一覧を表示する (ここから本番作業)

退職者がオーナー (Owner)の詳細情報をアプリの一覧を表示するには、まず退職者のAzure ADにおけるID情報を取得します。

メモ

Power Apps の所有者での絞り込みはメールアドレスでも実行できますが、アリアスがある場合がありますので基本的にはObjectIdで絞るのが良いでしょう。

ここで先程インストールしたAzure ADのPowerShell モジュールを利用します。

まず、Azure AD サービスにPowerShellを利用してログインします。

PowerShell
Connect-AzureAD -Credential $credential

ログインが求められるダイアログが表示されますので、管理者アカウントを利用してログインします。

接続できますと、接続したアカウントやテナントの情報が返ってきます。この状態で次のコマンドを実行して退職者のIdを取得します。<退職者のメールアドレス>というところは、退職者のメールアドレスに置き換えるようにしてください。

PowerShell
Get-AzureADUser -ObjectId <退職者のメールアドレス>

すると以下のような項目が返ってきます。

退職者のObjectIdをメモしておきます。

次に今取得した退職者のアカウントのObjectIDを利用して、退職者が所有者のPower Apps の一覧を表示します。

PowerShell
Get-AdminPowerApp -Owner <退職者アカウントのObjectId>

すると、該当のアプリの一覧が取得されます。AppName、EnvironmentName が重要で次のステップにて必要なのでメモしておきます。

退職者のアプリのオーナー (Owner) を自分に設定する

やっと退職者のアプリを管理者アカウントに所有者を変更するところまで来ました。メモしたアプリについて以下のコマンドを実行します。

PowerShell
Set-AdminPowerAppOwner –AppName <AppName> -AppOwner $Global:currentSession.userId –EnvironmentName <EnvironmentName>

エラーが表示されなければ所有者変更の実行は成功です!

以下のような値が表示されます。

以上、ご参考になれば幸いです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index