Power Platform is a suite of applications, including Power Apps, Power Automate, Power BI, and Power Virtual Agents, designed to automate business processes and enhance productivity. Using PowerShell to manage Power Platform environments allows administrators to automate tasks, perform bulk operations, and configure settings efficiently.
In this guide, we will go step by step on how to connect to Power Platform environments using PowerShell.
Step 1: Prerequisites
Before you begin, ensure that you meet the following prerequisites:
1.1 Install PowerShell
- Windows: PowerShell 5.1 or later
- Mac/Linux: PowerShell Core (7.x recommended)
To check your PowerShell version, run:
$PSVersionTable.PSVersion
1.2 Required Permissions
Ensure you have the following administrative roles in Microsoft 365:
- Global Administrator
- Power Platform Administrator
- Environment Administrator (for managing specific environments)
1.3 Install Required PowerShell Modules
Power Platform requires two main PowerShell modules:
Microsoft.PowerApps.Administration.PowerShell
(for administration tasks)Microsoft.PowerApps.PowerShell
(for user and app management)
Step 2: Installing PowerShell Modules
2.1 Open PowerShell as Administrator
To install Power Platform modules, open PowerShell as an administrator.
2.2 Install the PowerApps Administration Module
Run the following command to install the administration module:
Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Force -AllowClobber
2.3 Install the PowerApps Management Module
Run the following command to install the PowerApps management module:
Install-Module -Name Microsoft.PowerApps.PowerShell -Force -AllowClobber
2.4 Verify Installation
To check if the modules are installed correctly, run:
Get-Module -ListAvailable Microsoft.PowerApps*
Step 3: Connecting to Power Platform
3.1 Authentication Using Interactive Login
To connect using an interactive login, use the following command:
Add-PowerAppsAccount
A login prompt will appear where you must enter your Microsoft credentials.
3.2 Authentication Using Service Principal (App Registration)
If you prefer connecting without a user prompt, use a service principal:
- Register an Azure AD App:
- Go to Azure Portal
- Navigate to Azure Active Directory > App registrations
- Click New registration, give it a name, and register
- Grant API Permissions:
- Under the API Permissions tab, add permissions for “PowerApps Management” and “PowerApps Administration”
- Generate a Client Secret:
- Under Certificates & Secrets, create a new client secret and note the value
- Use PowerShell to Connect:
$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 4: Listing and Managing Power Platform Environments
4.1 Get All Environments
Once connected, retrieve all environments using:
Get-AdminPowerAppEnvironment
4.2 Get Environment Details
To get details of a specific environment, run:
Get-AdminPowerAppEnvironment -EnvironmentName "your-environment-id"
4.3 Create a New Environment
To create a new environment, use:
New-AdminPowerAppEnvironment -DisplayName "NewEnv" -Location "United States" -EnvironmentSku "Production"
4.4 Delete an Environment
To delete an environment:
Remove-AdminPowerAppEnvironment -EnvironmentName "your-environment-id"
Step 5: Managing Power Apps and Flows
5.1 Get All Apps
Retrieve all Power Apps in the environment:
Get-AdminPowerApp
5.2 Get App Details
Get-AdminPowerApp -AppName "your-app-id"
5.3 Get All Flows
Get-AdminFlow
5.4 Disable a Flow
Disable-AdminFlow -EnvironmentName "your-environment-id" -FlowName "your-flow-id"
5.5 Enable a Flow
Enable-AdminFlow -EnvironmentName "your-environment-id" -FlowName "your-flow-id"
Step 6: Managing Users and Permissions
6.1 Get Users in an Environment
Get-AdminPowerAppEnvironmentUser -EnvironmentName "your-environment-id"
6.2 Add a User to an Environment
Set-AdminPowerAppEnvironmentRoleAssignment -EnvironmentName "your-environment-id" -PrincipalObjectId "user-id" -RoleName "Environment Maker"
6.3 Remove a User from an Environment
Remove-AdminPowerAppEnvironmentRoleAssignment -EnvironmentName "your-environment-id" -PrincipalObjectId "user-id"
Step 7: Managing Connectors and DLP Policies
7.1 Get Connectors in an Environment
Get-AdminPowerAppConnector -EnvironmentName "your-environment-id"
7.2 Get DLP Policies
Get-AdminDlpPolicy
7.3 Create a DLP Policy
New-AdminDlpPolicy -DisplayName "RestrictedPolicy"
7.4 Assign a Connector to a DLP Policy
Set-AdminDlpPolicy -PolicyName "RestrictedPolicy" -ConnectorName "shared-twitter"
Step 8: Disconnecting from Power Platform
After performing your operations, disconnect using:
Disconnect-PowerAppsAccount
This ensures security and prevents unauthorized access.