- PowerApps administration capabilities have considerably evolved from where it was and now we can easily transfer the ownership of a specific App using a simple PowerShell command. This article will cover that specific task.
However, If you look at the latest Power Platform Admin center (https://admin.powerplatform.microsoft.com/) you’ll figure out there’s nothing much we could do there as admins, so PowerShell comes again for the rescue.
PowerApps offers two separate PowerShell packages for Creators (a.k.a Makers) and Administrators respectively. Before you can do anything, you need this Admin module installed in your machine.
you can download the NUGPKG manually from the first link, or run the command below to install it directly.
- Microsoft.PowerApps.Administration.PowerShell (For Admins)
- Microsoft.PowerApps.PowerShell 1.0.1 (for creators)
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -RequiredVersion 2.0.1
Once you have the module installed, the following command will give you an idea of the number of apps created in your environment. This is important so that you can standardize the permissions and accessibility for all your Apps via proper governance.
Before we begin, here’s the first command to login to PowerApp service. Run PowerShell as admin and then execute this.
Add-PowerAppsAccount
This command will list-down all the apps in your environment with basic information for you to understand the App Name, Display Name Current Ownership etc..
Get-AdminPowerApp
To retrieve the current permissions for a specific PowerApp:
Get-AdminPowerAppRoleAssignment -AppName <APP ID>
This will list down the deep down information of a specific app including all assigned permissions for that particular app.
So now that we have all the information, to change ownership, we can either run this simple command and input the details as prompted, or use the full command below. To run this, ensure that you login from the new owner.
Set-AdminPowerAppOwner
If you get this error (Conflict) it means that the app is opened and being edited. Close all the session for this app and try to execute the command again.
This is the full command with all the parameters and inputs are predefined. The new Owner must run this command as it uses the current logged in user to execute the change.
Set-AdminPowerAppOwner -AppName '895a38f1-f3c3-4cb6-a2d4-64b199badb3d' -AppOwner $Global:CurrentSession.userId -EnvironmentName 'Default-f50d5133-e13c-4359-85f6-ef76484f4c32'
That should easily run and change the new Owner. However, the previous owner will still remain as a normal user which allows the new Owner to decide whether to keep remove. As new owner can use the User Interface to manage the app, he can simply manage the permission there.
Resources:
- https://docs.microsoft.com/en-us/power-platform/admin/powerapps-powershell
- https://docs.microsoft.com/en-us/power-platform/admin/environments-overview
- https://www.powershellgallery.com/packages/Microsoft.PowerApps.PowerShell/1.0.1
- https://www.powershellgallery.com/packages/Microsoft.PowerApps.Administration.PowerShell/2.0.1