Importing a Power App package using PowerShell allows administrators to deploy apps across environments, restore backups, or migrate apps efficiently within Microsoft Power Platform.
Step 1: Install Required PowerShell Modules
Ensure you have the necessary PowerShell modules installed:
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Force -AllowClobber
Install-Module -Name Microsoft.PowerApps.PowerShell -Force -AllowClobber
If prompted, press Y to confirm installation.
Step 2: Authenticate to Power Platform
Log in using an Admin account:
Add-PowerAppsAccount
For service principal authentication:
$clientId = "your-client-id"
$clientSecret = "your-client-secret"
$tenantId = "your-tenant-id"
$SecureSecret = ConvertTo-SecureString $clientSecret -AsPlainText -Force
$Credential = New-Object System.Management.Automation.PSCredential ($clientId, $SecureSecret)
Connect-AdminPowerAppEnvironment -TenantId $tenantId -Credential $Credential
Step 3: Select the Target Environment
List available environments to determine the target for import:
Get-AdminPowerAppEnvironment | Select-Object DisplayName, EnvironmentName
Identify and note the EnvironmentName where you want to import the package.
Step 4: Import the Power App Package
Use the Import-AdminPowerAppPackage command to import the package:
$environmentId = "your-environment-id"
$packagePath = "C:\PowerPlatform\PowerAppPackage.zip"
Import-AdminPowerAppPackage -EnvironmentName $environmentId -PackagePath $packagePath
This will import the Power App into the selected environment.
Step 5: Verify the Imported Power App
List all Power Apps in the environment to confirm the import:
Get-AdminPowerApp -EnvironmentName $environmentId | Select-Object DisplayName, AppName, CreatedTime, LastModifiedTime
If the import was successful, you should see the new app listed.
Step 6: Assign Owners and Permissions (Optional)
After import, assign appropriate permissions to users or security groups:
$appId = "your-imported-app-id"
$userEmail = "user@domain.com"
$role = "CanEdit" # Options: Owner, CanEdit, CanView
Set-AdminPowerAppRoleAssignment -AppName $appId -PrincipalType User -PrincipalObjectId $userEmail -Role $role
For security groups:
$groupId = "your-security-group-id"
Set-AdminPowerAppRoleAssignment -AppName $appId -PrincipalType Group -PrincipalObjectId $groupId -Role "CanView"
Step 7: Disconnect from Power Platform
Once done, disconnect the session:
Disconnect-PowerAppsAccount