Microsoft Power Platform Administration: Complete Practical Course — Matching the Power Platform Admin Center & PL-200 Certification
The guide covers the complete Power Platform administration lifecycle — provisioning and managing environments, enforcing DLP policies, governing citizen developer activity, monitoring flows and apps, managing capacity and licences, and building a sustainable governance framework using the CoE Starter Kit — including the latest 2025–2026 features: Managed Environments, pipelines for Power Platform, and Copilot integration in Power Apps and Power Automate.
🗺️ Course Module Map
Power Platform Admin Center Overview
admin.powerplatform.microsoft.com navigation, admin roles, Managed Environments, tenant settings
Environments
Environment types, creation, regions, security groups, Dataverse provisioning, lifecycle management
DLP Policies for Power Platform
Connector classification, business/non-business/blocked tiers, scope, policy ordering, enforcement
Power Apps Governance
App inventory, quarantine, sharing controls, app pass licensing, canvas vs model-driven apps
Power Automate Governance
Flow inventory, run history, shared flows, RPA governance, attended vs unattended, desktop flows
Power BI Admin
Power BI Admin Portal, tenant settings, workspace governance, capacity, embed tokens, export settings
Power Pages Administration
Site creation, capacity, authentication providers, WAF, CDN, DNS, lifecycle and monitoring
Connectors & Custom Connectors
Standard vs premium connectors, custom connector governance, HTTP connector, connector endpoints
CoE Starter Kit
Center of Excellence setup, inventory model, compliance process, nurture components, admin dashboards
Capacity & Licensing
Dataverse storage, API capacity, Power Automate per-flow/per-user, add-on capacity packs
Analytics & Monitoring
Power Platform analytics, activity logs, Dataverse audit, Microsoft Purview integration, alerts
PL-900 / PL-200 Certification Alignment
Exam domains, skill weightings, key admin scenario tips, governance framework, study resources
🏠 Module 1: Power Platform Admin Center Overview
The Power Platform Admin Center at admin.powerplatform.microsoft.com is the central governance hub for all Power Platform workloads — Power Apps, Power Automate, Power BI, Power Pages, and Copilot Studio. It provides visibility into all environments across the tenant, all DLP policies, capacity consumption, and analytics — giving administrators the controls needed to govern citizen development at scale.
Power Platform Admin Roles
| Role | Scope | Key Capabilities |
|---|---|---|
| Power Platform Administrator | Tenant-wide — all environments | Create/delete environments, manage DLP policies, view all analytics, manage capacity, assign licences |
| Dynamics 365 Administrator | Tenant-wide — Dynamics/Dataverse environments | Manage Dataverse environments, install Dynamics 365 apps, manage solution deployments |
| Environment Admin | Specific environment only | Manage that environment’s settings, users, DLP (within tenant policy), Dataverse tables, security roles |
| Global Administrator | Tenant-wide — all services | All Power Platform Admin capabilities plus all M365 admin capabilities |
| System Administrator (Dataverse) | Specific Dataverse environment | Full control over Dataverse tables, security roles, business rules, and customisations within that environment |
🌍 Environments
🚫 Data policies
📊 Analytics
💾 Resources
⚖️ Capacity
📋 Billing
⚙️ Settings
Managed Environments — 2025–2026 Key Feature
💡 Managed Environments — Premium Governance at Scale
Managed Environments is a premium governance feature that unlocks advanced admin controls for specific Power Platform environments. Once an environment is designated as Managed, admins gain access to: Sharing limits (restrict how many users an app can be shared with), Usage insights emails (weekly emails to makers about their apps’ usage), Data policies pip (surfacing DLP violations to makers), solution checker enforcement (block import of solutions failing quality checks), and Maker welcome content (custom welcome message shown to all makers in that environment). Managed Environments require a Power Apps Premium or Power Automate Premium licence for each user.
🌍 Module 2: Environments
Environments are the fundamental containers in Power Platform — they hold apps, flows, Dataverse databases, connections, and chatbots. Every Power Platform resource exists in exactly one environment. Organisations typically implement an environment strategy separating Development, Test/UAT, and Production environments, plus a Default environment for unmanaged citizen development.
Environment Types
| Environment Type | Use Case | Dataverse | Can Be Deleted |
|---|---|---|---|
| Default | Automatically created for every tenant — every user has access; citizen developer sandbox | Optional — can be provisioned separately | No — cannot be deleted; can be restricted |
| Production | Live business applications accessed by end users — should have DLP policies and restricted maker access | Optional — required for model-driven apps and Dynamics 365 | Yes |
| Sandbox | Development and testing — can be reset (wiped) without affecting production; supports copying from production | Optional | Yes — or reset |
| Developer | Individual developer personal environment — each user with a Power Apps Developer Plan gets one; isolated from others | Included — 2 GB per developer environment | Yes |
| Trial | 30-day trial environment for evaluating features — automatically expires | Included during trial | Yes — or convert to production |
| Teams | Lightweight environment created when Power Apps is used inside a Microsoft Teams team — Dataverse for Teams (limited schema) | Dataverse for Teams — 2 GB storage, limited tables | Yes — deletes when the Team is deleted |
Manage Environments via Power Apps Admin PowerShell
Install the Power Apps Admin module, connect, list all environments across the tenant, create a new production environment, and restrict the Default environment to prevent uncontrolled app creation.
# Install Power Apps Admin PowerShell modules (run once) Install-Module Microsoft.PowerApps.Administration.PowerShell -Force -AllowClobber Install-Module Microsoft.PowerApps.PowerShell -Force -AllowClobber # Connect to Power Platform Add-PowerAppsAccount # Get all environments across the tenant Get-AdminPowerAppEnvironment | Select-Object DisplayName,EnvironmentName,Location,EnvironmentType,IsDefault | Sort-Object DisplayName | Format-Table -AutoSize # Create a new Production environment with Dataverse in Europe New-AdminPowerAppEnvironment ` -DisplayName "Contoso Production" ` -Location "europe" ` -EnvironmentSku Production ` -ProvisionDatabase ` -CurrencyName "GBP" ` -LanguageName 1033 Write-Host "Production environment created." # Get the Default environment and restrict maker access $DefaultEnv = Get-AdminPowerAppEnvironment | Where-Object {$_.IsDefault -eq $true} Set-AdminPowerAppEnvironmentRoleAssignment ` -EnvironmentName $DefaultEnv.EnvironmentName ` -RoleName EnvironmentMaker ` -PrincipalType Group ` -PrincipalObjectId "approved-makers-security-group-id"
🚫 Module 3: DLP Policies for Power Platform
Data Loss Prevention (DLP) policies in Power Platform control which connectors can be used together in the same app or flow. Every connector is placed in one of three tiers: Business, Non-Business, or Blocked. Connectors in Business and Non-Business tiers cannot be combined in the same app or flow — this prevents, for example, SharePoint data (Business) from flowing into a personal Gmail connector (Non-Business).
Power Platform DLP Policy Concepts
| Concept | Description | Scope Options |
|---|---|---|
| Business tier | Connectors approved for corporate data — SharePoint, Dataverse, Teams, Outlook, Azure SQL, SQL Server | Per-policy; admin classifies each connector |
| Non-Business tier | Connectors not approved for corporate data — Twitter/X, Gmail, Dropbox, Facebook, personal storage | Per-policy; default tier for new/unknown connectors |
| Blocked tier | Connectors completely blocked — cannot be used in any app or flow in environments covered by this policy | Per-policy; explicit block action prevents all use |
| Policy scope | Which environments the DLP policy applies to — All environments, specific environments, or all environments except selected | Tenant-wide or environment-specific |
| Policy ordering | When multiple DLP policies apply to an environment, the most restrictive policy wins — policies are evaluated in priority order | Set via policy order in admin center; lower number = higher priority |
| Connector action control | Individual actions within a connector can be blocked — e.g. allow SharePoint read but block SharePoint delete | Per-connector, per-action granularity in 2025–2026 |
Create & Manage Power Platform DLP Policies
List existing DLP policies, create a new tenant-wide policy that blocks all connectors except Microsoft-approved business connectors, and audit which apps or flows would be suspended by a new DLP policy before enforcement.
Add-PowerAppsAccount # Get all existing DLP policies Get-DlpPolicy | Select-Object DisplayName,PolicyName,CreatedTime,LastModifiedTime | Format-Table -AutoSize # Get connector classifications in a specific DLP policy $Policy = Get-DlpPolicy | Where-Object {$_.DisplayName -eq "Contoso Tenant DLP Policy"} Get-DlpPolicyConnectorConfigurations -PolicyName $Policy.PolicyName | Select-Object ConnectorId,GroupName | Format-Table -AutoSize # Create a new tenant-wide DLP policy New-DlpPolicy -DisplayName "Contoso Standard DLP Policy" -EnvironmentType AllEnvironments $NewPolicy = Get-DlpPolicy | Where-Object {$_.DisplayName -eq "Contoso Standard DLP Policy"} # Classify Microsoft connectors to Business tier $BusinessConnectors = @( "/providers/Microsoft.PowerApps/apis/shared_sharepointonline", "/providers/Microsoft.PowerApps/apis/shared_teams", "/providers/Microsoft.PowerApps/apis/shared_commondataservice", "/providers/Microsoft.PowerApps/apis/shared_office365outlook" ) foreach ($ConnectorId in $BusinessConnectors) { Set-DlpPolicyConnectorGrouping ` -PolicyName $NewPolicy.PolicyName ` -ConnectorId $ConnectorId ` -GroupName hbi Write-Host "Set Business tier: $ConnectorId" }
💻 Module 4: Power Apps Governance
Power Apps governance focuses on maintaining visibility and control over the apps being built across your organisation’s environments — identifying orphaned apps (makers who have left), apps with too many users sharing them informally, apps using non-approved connectors, and apps in the Default environment that should be migrated to governed environments.
Audit Power Apps Across the Tenant — Inventory, Owners & Usage
Export a complete inventory of all Power Apps across all environments, identify orphaned apps whose makers have left the organisation, and quarantine apps that violate DLP policies.
Add-PowerAppsAccount # Export complete Power Apps inventory across all environments Get-AdminPowerApp | Select-Object DisplayName,AppName,Owner,EnvironmentName,LastModifiedTime | Sort-Object LastModifiedTime -Descending | Export-Csv -Path "PowerAppsInventory.csv" -NoTypeInformation Write-Host "Power Apps inventory exported." # Get all apps in the Default environment (often ungoverned) $DefaultEnvName = (Get-AdminPowerAppEnvironment | Where-Object {$_.IsDefault -eq $true}).EnvironmentName Get-AdminPowerApp -EnvironmentName $DefaultEnvName | Select-Object DisplayName,Owner,LastModifiedTime | Sort-Object LastModifiedTime | Format-Table -AutoSize # Find apps shared org-wide (shared with Everyone — review urgently) Get-AdminPowerAppRoleAssignment -EnvironmentName $DefaultEnvName | Where-Object {$_.PrincipalType -eq "Tenant"} | Select-Object AppName,RoleName,PrincipalDisplayName | Format-Table -AutoSize
⚡ Module 5: Power Automate Governance
Power Automate governance ensures that automated flows across the organisation are using approved connectors, are owned by active users (not departed employees), are not running undetected processes that exfiltrate data, and that Robotic Process Automation (RPA) desktop flows are properly licensed and monitored.
Audit Power Automate Flows — Inventory, Run History & Shared Flows
Export a complete flow inventory, find flows owned by users who have left the organisation, identify high-volume flows, and review flows using HTTP connectors (potential data exfiltration risk).
Add-PowerAppsAccount # Export complete flow inventory across all environments Get-AdminFlow | Select-Object DisplayName,FlowName,CreatedBy,EnvironmentName,Enabled,LastModifiedTime | Sort-Object LastModifiedTime -Descending | Export-Csv -Path "PowerAutomateFlowInventory.csv" -NoTypeInformation Write-Host "Flow inventory exported." # Get flow run history for a specific flow $EnvName = "your-environment-name" $FlowName = "flow-guid-here" Get-AdminFlowRun -EnvironmentName $EnvName -FlowName $FlowName | Select-Object StartTime,EndTime,Status,TriggerType | Sort-Object StartTime -Descending -First 20 | Format-Table -AutoSize # Change flow owner when original owner has left the org Set-AdminFlowOwnerRole -EnvironmentName $EnvName -FlowName $FlowName ` -RoleName Owner ` -PrincipalType User ` -PrincipalObjectId "new-owner-user-object-id" Write-Host "Flow owner updated." # Disable a policy-violating flow Disable-AdminFlow -EnvironmentName $EnvName -FlowName $FlowName Write-Host "Flow disabled."
📊 Module 6: Power BI Admin
Power BI administration is managed via the Power BI Admin Portal (app.powerbi.com → Settings → Admin portal) and also surfaces some settings in the Power Platform Admin Center. Key admin responsibilities include governing tenant settings, managing workspaces, controlling data export capabilities, and managing Premium/Fabric capacity.
Key Power BI Admin Portal Settings
| Setting Category | Key Controls | Governance Recommendation |
|---|---|---|
| Export & Sharing | Allow export to Excel/CSV/PDF, allow sharing with external users, allow publishing to web (public embed) | Disable “Publish to web” for all users unless explicitly needed; restrict Excel export to approved groups for sensitive data |
| Content pack & app creation | Allow users to create template apps, allow users to publish apps to the organisation | Restrict template app creation to Power BI developers; allow publishing apps to the org app catalogue for broad consumption |
| Integration settings | Allow Power BI to use Entra guest accounts, allow data in Excel for SharePoint Online, ArcGIS Maps integration | Enable Entra guest access only if external B2B sharing is required and audited |
| Custom visuals | Allow certified visuals only, allow visuals from AppSource, allow organisational visuals | Restrict to certified visuals only in regulated environments — non-certified visuals can execute arbitrary code |
| Audit logs | Audit and usage data retention (up to 90 days) | Enable audit logs; integrate with Microsoft Purview or Azure Monitor for long-term retention beyond 90 days |
🌐 Module 7: Power Pages Administration
Power Pages (formerly Power Apps Portals) enables organisations to build externally-facing websites connected to Dataverse — citizen portals, partner portals, customer self-service sites — with authentication, forms, and Dataverse integration, without traditional web development. Admin responsibilities include site capacity, authentication configuration, WAF, and lifecycle management.
Power Pages Admin Key Tasks
| Admin Task | Where Managed | Key Consideration |
|---|---|---|
| Create / provision a site | Power Platform Admin Center → Resources → Power Pages sites; or make.powerpages.microsoft.com | Each site consumes Power Pages capacity (logins/month or page views/month); check capacity before provisioning |
| Configure authentication | Power Pages Design Studio → Set up → Identity providers | Supports Entra ID, Azure AD B2C, Google, Facebook, LinkedIn, local accounts; Entra ID preferred for internal portals |
| Web Application Firewall (WAF) | Power Platform Admin Center → Security → Web Application Firewall | Enable WAF in Detection mode first, then Prevention after reviewing logs; WAF is required for public-facing portals handling sensitive data |
| Custom domain & SSL | Power Platform Admin Center → Resources → Power Pages sites → Site URL | Upload SSL certificate for custom domain; renew before expiry to prevent site downtime |
| Convert to production | Power Platform Admin Center → Power Pages sites → Convert | Trial sites expire after 30 days; convert to production before expiry to prevent data loss |
🔐 Module 8: Connectors & Custom Connectors
Connectors are the integration bridges between Power Platform and external services. There are 1,000+ standard connectors (built by Microsoft and third-party publishers) and the ability to create custom connectors for proprietary REST APIs. Connector governance is the primary mechanism for controlling data flow in Power Platform — via DLP policies that classify connectors into Business/Non-Business/Blocked tiers.
Connector Tiers — Common Classifications
| Tier | Examples | Why |
|---|---|---|
| Business (approved for corporate data) | SharePoint, Dataverse, Microsoft Teams, Exchange/Outlook, Azure SQL, SQL Server, OneDrive for Business, Microsoft Forms, Azure Key Vault | Microsoft-managed, enterprise-grade, used for core business data; audit trails available |
| Non-Business (personal/consumer) | Gmail, Google Drive, Dropbox, Box, Twitter/X, Facebook, Instagram, Slack (consumer), personal OneDrive | Consumer services; corporate data should not flow into these services |
| Blocked (prohibited entirely) | Custom HTTP connector (if not approved), specific risky third-party services, deprecated connectors with security issues | Prevent all use in any app or flow — highest risk or regulatory prohibition |
⚠️ HTTP Connector — The Highest Governance Risk
The HTTP connector (and HTTP with Azure AD) allows Power Automate flows to make arbitrary HTTP requests to any URL — including external APIs and internal services. This is the most common data exfiltration vector in Power Platform because it bypasses all other connector restrictions. Best practice: Block the HTTP connector in your tenant-wide DLP policy and only allow it in specific sandboxed environments for approved developers with IT oversight. Use the Connector endpoint filtering feature (in Managed Environments) to restrict the HTTP connector to approved domains only if you need it for legitimate integrations.
📚 Module 9: CoE Starter Kit
The Center of Excellence (CoE) Starter Kit is a free, open-source collection of Power Platform components built by Microsoft that provides the governance infrastructure most organisations need — a full inventory of all apps, flows, and makers, an automated compliance process that contacts makers and requests justification for their solutions, and adoption dashboards that track Power Platform usage trends.
CoE Starter Kit Components
| Component | What It Does | Deployment |
|---|---|---|
| Core Components | Syncs all environments, apps, flows, connectors, makers, and usage data into Dataverse tables every day — the inventory backbone | Required — deploy first; runs as automated flows in a dedicated CoE environment |
| Governance Components | Automated compliance process — emails makers of orphaned/policy-violating apps asking them to justify or archive; escalates to admin if no response | Optional but strongly recommended — requires Core Components |
| Nurture Components | Maker onboarding, community newsletter automation, training resources portal — helps grow skilled citizen developers | Optional — for organisations with active maker communities |
| Power BI Dashboard | Visualises the CoE inventory data — app usage trends, connector usage, environment health, maker activity, DLP violations | Optional — requires Power BI Pro; template report connects to Dataverse CoE tables |
| ALM Accelerator | Application Lifecycle Management automation — GitHub/Azure DevOps pipelines for exporting, importing, and deploying Power Platform solutions between Dev/Test/Prod environments | Optional — for professional development teams doing structured ALM |
⚖️ Module 10: Capacity & Licensing
Power Platform capacity management is one of the most complex areas of administration — it involves both per-user licences (for makers and users) and tenant-level capacity pools (for Dataverse storage, API calls, and RPA bot usage). Monitoring capacity prevents unexpected service throttling or overage charges.
Power Platform Capacity Types
| Capacity Type | What It Measures | Where to Monitor |
|---|---|---|
| Dataverse database storage | Total data stored in Dataverse tables across all environments — measured in GB | Power Platform Admin Center → Resources → Capacity → Storage |
| Dataverse file storage | Files attached to Dataverse records (images, documents) — measured in GB separately from database storage | Power Platform Admin Center → Capacity |
| Dataverse log storage | Audit log data in Dataverse — accumulates if audit logging is enabled; can be purged on a schedule | Power Platform Admin Center → Capacity |
| Power Platform requests | API calls per 24-hour period per user — limits vary by licence (Power Apps Per User: 40,000/day; M365 licence: 6,000/day) | Power Platform Admin Center → Analytics → Power Automate → Requests |
| RPA bot capacity | Number of unattended bot slots for running desktop flows without a human — each slot = 1 concurrent unattended run | Power Platform Admin Center → Resources → Capacity → Add-ons |
📊 Module 11: Analytics & Monitoring
Pull Power Platform Analytics & Activity Logs
Query Power Platform analytics for environment usage, get activity logs for audit and compliance, and export connector usage data to identify connectors that should be reviewed for DLP classification.
Add-PowerAppsAccount # Get connector usage across all environments (ranked by usage) Get-AdminPowerAppConnectionReferences | Select-Object ConnectorId,ConnectorDisplayName,AppName,EnvironmentName | Group-Object ConnectorDisplayName | Select-Object Name,Count | Sort-Object Count -Descending | Format-Table -AutoSize # Export all connections inventory (user credential connections) Get-AdminPowerAppConnection | Select-Object DisplayName,ConnectorName,CreatedBy,EnvironmentName | Sort-Object ConnectorName | Export-Csv -Path "ConnectionsInventory.csv" -NoTypeInformation # Get Dataverse storage per environment Get-AdminPowerAppEnvironment | ForEach-Object { $S = Get-AdminPowerAppEnvironmentCapacity -EnvironmentName $_.EnvironmentName [PSCustomObject]@{ Environment = $_.DisplayName DatabaseMB = $S.DatabaseCapacityMB FileMB = $S.FileCapacityMB LogMB = $S.LogCapacityMB } } | Sort-Object DatabaseMB -Descending | Format-Table -AutoSize
🎓 Module 12: PL-900 / PL-200 Certification Alignment
Describe the Business Value of Microsoft Power Platform
Power Platform components (Power Apps, Power Automate, Power BI, Power Pages, Copilot Studio), Dataverse, connectors, AI Builder — covered in Modules 1, 8. PL-900 focus.
Configure Microsoft Dataverse
Dataverse tables, columns, relationships, security roles, business rules, Dataverse for Teams, environment strategy — Module 2. PL-200 primary domain.
Create Apps Using Power Apps
Canvas vs model-driven apps, app governance, sharing, publishing, app lifecycle — Module 4. PL-200 domain.
Create Automations Using Power Automate
Cloud flows, desktop flows (RPA), solution-aware flows, DLP compliance, flow governance — Module 5. PL-200 domain.
Describe Power Platform Administration, Security & Governance
Environments, DLP policies, admin roles, security groups, CoE, capacity management, audit logs — Modules 2, 3, 9, 10. Both PL-900 and PL-200.
✅ PL-200 Admin & Governance Study Tips
- Know DLP policy tiers precisely — Business, Non-Business, and Blocked; what happens when connectors from different tiers are used in the same flow (the flow is suspended); and that DLP policies stack (most restrictive wins)
- Understand environment types — Default (cannot be deleted, all users are makers by default), Sandbox (can be reset/copied), Developer (personal, per-developer plan), Teams (tied to M365 Teams group)
- Know Managed Environments — the premium governance feature that unlocks sharing limits, usage insights, maker onboarding content, and solution checker enforcement; requires Power Apps/Automate Premium licence per user
- Study Dataverse security model — Business Units, security roles, table/row/column-level permissions, team permissions, and how they interact; this is the most heavily tested PL-200 area
- Understand the CoE Starter Kit — what each component does (Core = inventory, Governance = compliance process, Nurture = adoption); know that it is a free Microsoft-published solution, not a built-in feature
- Know Power Platform licensing at a high level — M365 included connectors (standard only), Power Apps Per User (premium connectors, 1 app or all apps depending on plan), Power Automate Per Flow (unlimited runs, premium connectors, one flow)
💡 Best Practices Summary
- Create a dedicated CoE environment for the CoE Starter Kit — never install CoE in the Default environment; it uses significant Dataverse storage and should be isolated from citizen developer activity
- Deploy the CoE Starter Kit before rolling out Power Platform broadly — you need inventory visibility from day one to prevent uncontrolled sprawl in the Default environment
- Block the HTTP connector in your tenant-wide DLP policy — it is the primary data exfiltration risk; only allow it in specific developer environments with IT oversight
- Set up a default environment strategy before enabling Power Platform: restrict the Default environment to approved makers via a security group; create separate Sandbox environments for development and Production environments for live apps
- Enable Managed Environments for your Production environments — the sharing limits and usage insights emails pay for themselves by preventing ungoverned app sprawl
- Monitor Dataverse storage monthly — log storage accumulates silently; schedule regular audit log purges and review large tables for unnecessary data retention
- Implement solution-aware flows and apps from the start — resources built inside solutions can be deployed across environments using pipelines; resources built outside solutions cannot be easily migrated
- Review the connector inventory quarterly using CoE dashboards — new connectors added to the platform are automatically classified as Non-Business in existing DLP policies; review and reclassify as needed
📚 References
- 🔗 Power Platform Admin Documentation — Microsoft Learn
- 🔗 PL-900: Power Platform Fundamentals — Microsoft Learn
- 🔗 PL-200: Power Platform Functional Consultant — Microsoft Learn
- 🔗 CoE Starter Kit Documentation — Microsoft Learn
- 🔗 DLP Policies for Power Platform — Microsoft Learn
- 🔗 Power Platform Admin Center — admin.powerplatform.microsoft.com
