Power Apps 和 Power Automate 的 PowerShell 支持

借助面向 Power Platform 创建者和管理员的 PowerShell cmdlet,您可以自动执行许多监控和管理任务。 目前 Power Apps只能在或管理中心手动 Power Automate完成 Power Platform 的任务

Cmdlet

Cmdlet 是用 PowerShell 脚本语言编写的 函数,用于在 PowerShell 中执行命令。 可通过运行这些 Power Apps cmdlet 与业务应用程序平台交互,不必通过 Web 浏览器使用管理门户。

可将这些 cmdlet 与其他 PowerShell 函数组合使用来编写可用于优化工作流的复杂脚本。 如果您不是租户管理员,您虽然还可以使用这些 cmdlet,但是只能使用您负责的资源。 管理用户帐户使用以 Admin 开头的 cmdlet。

Cmdlet 在 PowerShell 库中作为两个单独的模块提供:

有关 Power Apps admin 模块的信息,请参阅 开始使用 Power Apps admin 模块Microsoft .PowerApps.Administration.PowerShell 的 Administration.PowerShell 中。

PowerShell 入门

如果您是 PowerShell 新手,并且需要有关查找和启动它的帮助,请转到 PowerShell 入门。 如果您需要有关使用 PowerShell 或 cmdlet 的帮助,请转到 PowerShell 帮助系统

先决条件

本文中的 PowerShell 需要 Windows PowerShell 版本 5.x。 若要检查机器中运行的 PowerShell 版本,请运行以下命令:

$PSVersionTable.PSVersion

如果版本过时,请转到升级现有 Windows PowerShell

重要提示

本文档中描述的模块使用与 PowerShell 6.0 和更高版本不兼容的 .NET Framework。 这些较新的版本使用 .NET Core。

模块安装并登录

为应用程序创建者运行 PowerShell cmdlet:

  1. 以管理员身份运行 PowerShell。

    显示如何以管理员身份运行 PowerShell 的屏幕截图。

  2. 导入必要的模块。

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

    或者,如果您在计算机上没有管理员权限,请使用 -Scope CurrentUser 参数进行安装。

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. 如果系统提示您接受对存储库的 InstallationPolicy 值的更改,请通过键入 A 并按下 Enter 对所有模块接受 [A] Yes

    显示在 PowerShell 中何处接受 InstallationPolicy 值的屏幕截图。

  4. (可选)在访问命令之前,您可以提供您的凭证。 在要求您再次登录之前,凭据最多会刷新八小时。 如果在执行命令之前未提供凭证,则会显示输入凭证的提示。

    # Opens a prompt to collect credentials (Microsoft Entra account and password).
    Add-PowerAppsAccount
    
    # Here is how you can pass in credentials (to avoid opening a prompt).
    $pass = ConvertTo-SecureString "password" -AsPlainText -Force
    Add-PowerAppsAccount -Username user@contoso.com -Password $pass
    
  5. (可选)可以以特定终结点为目标。 默认终结点为 prod。 如果用户想要运行针对非生产区域(如 GCC)中环境的 PowerShell 脚本,则可以将 -Endpoint 参数更改为 usgov GCC 中等、 usgovhigh 或 GCC High dod GCC DOD。 支持的终端节点的完整列表为:“prod,预览版,tip1,tip2,usgov,usgovhigh,dod,china”。

    # An environment in another region, such as GCC, can be targeted using the -Endpoint parameter.
    Add-PowerAppsAccount -Endpoint "usgov" 
    

模块更新

您可以使用 Get-Module 检查所有 PowerShell 模块的版本。

Get-Module

您可以使用 Update-Module 将所有 PowerShell 模块更新为最新模块。

Update-Module

或者,使用 Get-Module-Name 参数检查 Power Platform 模块版本。

Get-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Get-Module -Name "Microsoft.PowerApps.PowerShell"

使用 Update-Module-Name 参数更新 Power Platform PowerShell 模块。

Update-Module -Name "Microsoft.PowerApps.Administration.PowerShell"
Update-Module -Name "Microsoft.PowerApps.PowerShell"

适用于应用创建者的 Power Apps cmdlet

先决条件

拥有有效 Power Apps 许可证的用户可以执行这些 cmdlet 中的操作。 然而,他们只能访问由他们创建或共享的资源,如应用程序和流。

Cmdlet 列表 - 开发者 Cmdlet

备注

我们已经在最新版本中更新了一些 cmdlet 函数名,以便添加适当的前缀,以避免冲突。 请参阅下表以了解更改的概述。

目的 Cmdlet
向 Microsoft Dataverse 解决方案添加区域应用 Set-PowerAppAsSolutionAware
读取和更新环境 Get-AdminPowerAppEnvironment(以前称为 Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment(以前称为 Restore-AppVersion)
读取,更新和删除区域应用 Get-AdminPowerApp(以前称为 Get-App)
Remove-AdminPowerApp(以前称为 Remove-App)
Publish-AdminPowerApp(以前的 Publish-App)
读取,更新和删除区域应用权限 Get-AdminPowerAppRoleAssignment(以前称为 Get-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment(以前称为 Remove-AppRoleAssignment)
读取,更新和删除流 Get-AdminFlow
启用 AdminFlow
禁用 AdminFlow
删除 AdminFlow
读取,更新和删除流权限 获取 AdminFlowOwnerRole
Set-AdminFlowOwnerRole
删除 AdminFlowOwnerRole
读取和响应流审批 Get-AdminFlowApproval 请求
Remove-AdminFlowApprovals
读取和删除连接 Get-AdminPowerAppConnection(以前称为 Get-Connection)
Remove-AdminPowerAppConnection(以前称为 Remove-Connection)
读取,更新和删除连接权限 Get-AdminPowerAppConnectionRoleAssignment(以前称为 Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(以前称为 Set-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment(以前称为 Remove-ConnectionRoleAssignment)
读取和删除连接器 Get-AdminPowerAppConnector(以前的 Get-Connector)
Remove-AdminPowerAppConnector(以前称为 Remove-Connector)
添加、读取、更新和删除自定义连接器权限 Get-AdminPowerAppConnectorRoleAssignment(以前称为 Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment(以前称为 Set-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment(以前称为 Remove-ConnectorRoleAssignment)
读取、添加和删除策略 URL 模式 Get-PowerAppPolicyUrlPatterns
新 PowerAppPolicyUrlPatterns
Remove-PowerAppPolicyUrlPatterns
读取、注册和删除管理应用 Get-PowerAppManagementApp
Get-PowerAppManagementApps
新 PowerAppManagementApp
删除 PowerAppManagementApp
读取、创建、更新和导入保护密钥 Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
新增 PowerAppImportProtectionKey
Set-PowerAppTenantProtectionKey

适用于管理员的 Power Apps cmdlet

有关适用于管理员的 Power Apps 和 Power Automate 的信息,请参阅适用于 Power Platform 管理员的 PowerShell 入门

提示

  • 使用 Get-Help 后跟 CmdletName 获取示例列表。

    显示 Get-Help 命令用法的屏幕截图。

  • 键入破折号 - 后,您可以按 Tab 在输入标签之间循环。 将此标志放在 cmdlet 名称之后。

示例命令:

Get-Help Get-AdminPowerAppEnvironment
Get-Help Get-AdminPowerAppEnvironment -Examples
Get-Help Get-AdminPowerAppEnvironment -Detailed

操作示例

下面是一些显示如何使用新增和现有 Power Apps cmdlet 的常见方案。

环境命令

这些命令用于获取有关租户中的环境的详细信息和更新这些环境。

显示所有环境的列表

Get-AdminPowerAppEnvironment

返回租户中的每个环境的列表,以及每个环境的详细信息(例如,环境名称 (guid)、显示名称、位置、创建者)。

显示默认环境的详细信息

Get-AdminPowerAppEnvironment –Default

仅返回租户的默认环境的详细信息。

显示特定环境的详细信息

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

备注

EnvironmentName 字段为唯一标识符,这与 DisplayName 不同(请参见下图中的输出内的第一个字段和第二个字段)。

Get-AdminEnvironment 命令。

Power Apps 命令

这些操作用于读取和修改租户中的 Power Apps 数据。

显示所有 Power Apps 的列表

Get-AdminPowerApp

返回租户中的所有 Power Apps 的列表,以及每个环境的详细信息(例如,应用程序名称 (guid)、显示名称、创建者)。

显示与输入显示名称匹配的所有 Power Apps 的列表

Get-AdminPowerApp 'DisplayName'

该命令列出您的租户中与显示名称匹配的所有 Power Apps。

备注

请在其中包含空格的输入值两侧使用引号。 例如,使用 "My App Name"。

精选应用程序

Set-AdminPowerAppAsFeatured –AppName 'AppName'

将为精选应用程序分组并推送到 Power Apps 移动播放器中的列表顶部。.

备注

与环境一样,AppName 字段为唯一标识符,其与 DisplayName 不同。 如果要执行基于显示名称的操作,某些函数会让您使用管道(参见下一个函数)。

使用管道将应用程序设置为首推应用

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

首推应用在 Power Apps 移动播放器中的列表顶部显示。 只能有一个首推应用。

两个 cmdlet 之间的管道 | 字符获取第一个 cmdlet 的输出,并将其作为第二个 cmdlet 的输入值传递(假设已将该函数编写为可容纳管道)。

备注

只能将精选应用更改为首推应用。

显示每位用户负责的应用的数量

Get-AdminPowerApp | Select –ExpandProperty Owner | Select –ExpandProperty displayname | Group

可以将本机 PowerShell 函数与 Power Apps cmdlet 结合使用,以进一步处理数据。 下面使用 Select 函数隔离 Owner 属性(对象)和 Get-AdminApp 对象。 然后通过将该输出管道化到另一个 Select 函数中来隔离 owner 对象的名称。 最后,如果将第二个 Select 函数输出传递到 Group 函数中,将返回一个优质表,其中包含每个负责人的应用数的计数。

Get-AdminPowerApp 命令。

显示每个环境中的应用的数量

Get-AdminPowerApp | Select -ExpandProperty EnvironmentName | Group | %{ New-Object -TypeName PSObject -Property @{ DisplayName = (Get-AdminPowerAppEnvironment -EnvironmentName $_.Name | Select -ExpandProperty displayName); Count = $_.Count } }

Get-AdminPowerApp environment。

下载 Power Apps 用户详细信息

Get-AdminPowerAppsUserDetails -OutputFilePath '.\adminUserDetails.txt' –UserPrincipalName 'admin@bappartners.onmicrosoft.com'

上面的命令会将 Power Apps 用户详细信息(有关通过用户主体名称的输入用户的基本使用信息)存储到指定的文本文件中。 如果现在没有此名称的文件,将新建一个,如果有,则覆盖文本文件。

导出分配的用户许可证列表

Get-AdminPowerAppLicenses -OutputFilePath '<licenses.csv>'

将租户中所有分配的用户许可证(Power Apps 和 Power Automate)导出到表格视图 .csv 文件中。 导出的文件既包含自助注册内部试用计划,也包含源自 Microsoft Entra ID 的计划。 Microsoft 365 管理中心的管理员看不到内部试用计划。

对于具有大量 Microsoft Power Platform 用户的租户,导出可能需要一段时间。

备注

Get-AdminPowerAppLicenses cmdlet 的输出中仅包含已访问了 Power Platform 服务(如 Power Apps、Power Automate 或 Power Platform 管理中心)的用户的许可证 。 在 Microsoft Entra ID 中已分配了许可证(通常通过 Microsoft 365 管理中心)但从未访问过 Power Platform 服务的用户将不会将其许可证包含在生成的 .csv 输出中。 此外,由于 Power Platform 许可服务会缓存许可证,因此在 Microsoft Entra ID 中对许可证分派进行的更新可能需要最多 7 天时间才能反映在最近没有访问过该服务的用户的输出中。

将登录用户设置为画布应用的负责人

Set-AdminPowerAppOwner –AppName 'AppName' -AppOwner $Global:currentSession.userId –EnvironmentName 'EnvironmentName'

将 Power App 的负责人角色更改为当前用户,并将原始负责人替换为“可以查看”角色类型。

备注

AppName 和 EnvironmentName 字段为唯一标识符 (guid),不是显示名称。

显示环境中删除的画布应用的列表

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

此命令会显示最近删除且仍可以恢复的所有画布应用。

恢复已删除的画布应用

Get-AdminRecoverDeletedPowerApp -AppName 'AppName' -EnvironmentName 'EnvironmentName'

此命令恢复可通过 Get-AdminDeletedPowerAppsList cmdlet 发现的画布应用程序。 未显示在 Get-AdminDeletedPowerAppsList 中的任何画布应用都无法恢复。

指定 SharePoint 自定义窗体环境

以下 cmdlet 可用于指定和验证 SharePoint 自定义窗体保存到哪个环境,而不是默认环境。 当 SharePoint 自定义窗体的指定环境更改时,这就是保存新创建的自定义窗体的环境。 使用这些 cmdlet 时,现有的自定义窗体不会自动迁移到其他环境。 用户在指定环境中创建自定义窗体的能力要求该用户具有环境创建者角色。 可以在 Power Platform 管理中心中为用户授予环境创建者角色。

不是默认环境的任何环境都可以删除。 如果删除了指定的 SharePoint 自定义窗体环境,自定义窗体也会随之删除。

Get-AdminPowerAppSharepointFormEnvironment  

此命令将为当前为新创建的 SharePoint 自定义窗体指定的环境返回 EnvironmentName。 如果从未指定环境,将返回默认环境。

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

此命令将指定新创建的 SharePoint 自定义窗体要在其中保存的环境,而不是默认环境。 现有的自定义窗体不会自动迁移到新指定的环境。 只能为 SharePoint 自定义窗体指定生产环境。

Reset-AdminPowerAppSharepointFormEnvironment  

这会将默认环境重置为指定环境来保存 SharePoint 自定义窗体。

显示租户设置以能够与每个人共享应用

$settings = Get-TenantSettings 
$settings.PowerPlatform.PowerApps.disableShareWithEveryone 

此设置控制具有“环境创建者”安全角色的用户是否可以与组织中的每个人共享画布应用。 当此设置被设置为 true 时,只有具有管理员角色(Dynamics 365 管理员、Power Platform 服务管理员、Microsoft Entra 租户管理员)的用户能够与组织中的每个人共享应用。

无论此租户设置的值如何,具有共享特权的创建者都可以与任何大小的安全组共享应用。 此控制仅确定共享时是否可以使用每个人简写。

更改租户设置以能够与每个人共享应用

$settings = Get-TenantSettings 
$settings.powerPlatform.powerApps.disableShareWithEveryone = $True 
Set-TenantSettings -RequestBody $settings

显示组织的治理错误消息内容

如果您指定治理错误消息内容将显示在错误消息中,当制作者发现他们无权与每个人共享应用时,该内容将包含在显示的错误消息中。 请参阅PowerShell 治理错误消息内容命令

在上下文中将流关联到应用

将应用上下文中的流与应用相关联,以在应用和流之间创建依赖关系。 要了解有关上下文流的更多信息,请参阅 Power Apps 许可证中包含哪些 Power Automate 功能?

   Add-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

EnvironmentName 和 FlowName 可以在流 url 中找到:

  • 对于非解决方案流,URL 如下所示:

    https://preview.flow.microsoft.com/manage/environments/839eace6-59ab-4243-97ec-a5b8fcc104e7/flows/6df8ec2d-3a2b-49ef-8e91-942b8be3202t/details
    

    environments/ 之后的 GUID 是 EnvironmentName,flows/ 之后的 GUID 是 FlowName

  • 对于非解决方案流,URL 如下所示:

    https://us.flow.microsoft.com/manage/environments/66495a1d-e34e-e330-9baf-0be559e6900b/solutions/fd140aaf-4df4-11dd-bd17-0019b9312238/flows/53d829c4-a5db-4f9f-8ed8-4fb49da69ee1/details
    

    environments/ 之后的 GUID 是 EnvironmentName,flows/ 之后的 GUID 是 FlowName

  • 画布应用的 AppName 可以在画布应用详细信息页面中找到。

    显示画布应用的 AppName 可以在画布应用详细信息页面中找到的屏幕截图。

  • 模型驱动应用的 AppName 可以在解决方案资源管理器中找到。

    显示模型驱动应用的 AppName 可以在解决方案资源管理器中找到的屏幕截图。

  • 要查看示例,请键入:get-help Add-AdminFlowPowerAppContext -examples

  • 若要获取更多信息,请键入:get-help Add-AdminFlowPowerAppContext -detailed

  • 要获取技术信息,请键入:get-help Add-AdminFlowPowerAppContext -full

在上下文中删除应用的流

使用此 PowerShell 命令删除流和应用之间的依赖关系。 Remove-AdminFlowPowerAppContext 将从特定流中删除应用上下文。

    Remove-AdminFlowPowerAppContext -EnvironmentName <String> -FlowName <String> -AppName <String> [-ApiVersion <String>] [<CommonParameters>]

    - To see the examples, type: "get-help Remove-AdminFlowPowerAppContext -examples".
    - For more information, type: "get-help Remove-AdminFlowPowerAppContext -detailed".
    - For technical information, type: "get-help Remove-AdminFlowPowerAppContext -full".

Power Automate 命令

使用这些重要命令执行与 Power Automate 相关的管理。

有关适用于管理员的 Power Automate 和 Power Apps 的完整列表,请参阅适用于 Power Platform 管理员的 PowerShell 入门

显示所有流

Get-AdminFlow

返回租户中所有流的列表。

显示流负责人角色详细信息

Get-AdminFlowOwnerRole –EnvironmentName 'EnvironmentName' –FlowName 'FlowName'

返回指定流的负责人详细信息。

备注

EnvironmentsPowerApps 一样,FlowName 字段为唯一标识符 (guid),其与流的显示名称不同。

显示流用户详细信息

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

返回与流的使用有关的用户详细信息。 此示例中,将把 PowerShell 会话的已登录用户的用户 ID 用作输入。

删除流用户详细信息

Remove-AdminFlowUserDetails –UserId 'UserId'

从 Microsoft 数据库中完全删除有关流程用户的详细信息。 输入用户负责,并且必须先删除,之后才能清除流用户详细信息的所有流。

备注

UserId 字段是用户的 Microsoft Entra 记录的对象 ID,位于 Azure 门户Microsoft Entra ID>用户>配置文件>对象 ID 下。 只有管理员才能从这里访问此数据。

将所有流导出到 CSV 文件

Get-AdminFlow | Export-Csv -Path '.\FlowExport.csv'

将租户中的所有流导出到表格视图 .csv 文件中。

将流添加到 Dataverse 解决方案

Add-AdminFlowsToSolution -EnvironmentName <String>

迁移环境中的所有非解决方案流。

参数变化可用于仅迁移特定的流,添加到特定的解决方案中,或者一次仅迁移一定数量的流。

有关技术细节,请参阅 Add-AdminFlowsToSolution

API 连接命令

查看和管理租户中的 API 连接。

显示默认环境中的所有本机连接

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

显示默认环境中的所有 API 连接的列表。 可以在创建 Power AppsDataverse>连接选项卡下找到本机连接。

显示租户中的所有自定义连接器

Get-AdminPowerAppConnector

返回租户中所有自定义连接器详细信息的列表。

备注

Get-AdminPowerAppConnector 不列出解决方案中的自定义连接器。 这是一个已知限制。

数据丢失防护 (DLP) 策略命令

这些 cmdlet 控制租户的 DLP 策略。

创建 DLP 策略

New-DlpPolicy

为登录管理员的租户创建新的 DLP 策略。

检索 DLP 对象的列表

Get-DlpPolicy

为登录管理员的租户获取策略对象。

备注

  • 使用 PowerShell 查看 DLP 策略时,连接器的显示名称来自 DLP 策略的创建时间或连接器在策略中的最后移动时间。 不会反映对连接器显示名称的更改。
  • 使用 PowerShell 查看 DLP 策略时,不会返回默认组中从未移动过的新连接器。

对于这两个已知问题,解决方法是将受影响的连接器移至策略中的另一个组,然后将其移回正确的组。 这样做之后,每个连接器都将以正确的名称显示。

更新 DLP 策略

Set-DlpPolicy

更新策略的详细信息,如策略显示名称。

移除策略

Remove-DlpPolicy

删除 DLP 策略。

DLP 资源豁免 cmdlet

这些 cmdlet 允许您在 DLP 策略中豁免或取消豁免特定资源。

检索 DLP 策略的现有豁免资源列表

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

为 DLP 策略创建新的豁免资源列表

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

更新 DLP 策略的豁免资源列表

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

移除 DLP 策略的豁免资源列表

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

若要在 DLP 策略中豁免资源,您需要以下信息:

  • 租户 ID (GUID)
  • DLP 策略 ID (GUID)
  • 资源 ID(以 GUID 结尾)
  • 资源类型

可以对应用使用 PowerShell cmdlet Get-PowerApp 检索资源 ID 和类型,对流则使用 Get-Flow 检索。

示例删除脚本

若要豁免 ID 为 f239652e-dd38-4826-a1de-90a2aea584d9 的流和 ID 为 06002625-7154-4417-996e-21d7a60ad624 的应用,可以使用以下 cmdlet:

1. PS D:\> $flow = Get-Flow -FlowName f239652e-dd38-4826-a1de-90a2aea584d9 
2. PS D:\> $app = Get-PowerApp -AppName 06002625-7154-4417-996e-21d7a60ad624 
3. PS D:\> $exemptFlow = [pscustomobject]@{ 
4. >>             id = $flow.Internal.id 
5. >>             type = $flow.Internal.type 
6. >>         } 
7. PS D:\> $exemptApp = [pscustomobject]@{ 
8. >>             id = $app.Internal.id 
9. >>             type = $app.Internal.type 
10. >>         } 
11. PS D:\> $exemptResources = [pscustomobject]@{ 
12. >>             exemptResources = @($exemptFlow, $exemptApp) 
13. >>         } 
14. PS D:\> New-PowerAppDlpPolicyExemptResources -TenantId b1c07da8-2ae2-47e7-91b8-d3418892f507 -PolicyName 65da474a-70aa-4a59-9ae1-65a2bebbf98a -NewDlpPolicyExemptResources $exemptResources 
15. 
16. exemptResources 
17. --------------- 
18. {@{id=/providers/Microsoft.ProcessSimple/environments/Default-b1c07da8-2ae2-47e7-91b8-d3418892f507/flows/f239652e-dd38-4826-a1de-90a2aea584d9; type=Microsoft.ProcessSimple/environments/flows}, @{id=/providers/Microsoft.PowerApps/apps/06002625-7154-4417-996e-21d7a60ad.. 

以下场景的 DLP 豁免体验

# 场景 体验
1 用户启动不符合 DLP 但豁免 DLP 的应用。 无论是否执行 DLP,应用启动都会继续。
2 制作者保存不符合 DLP 但豁免 DLP 的应用 无论是否豁免 DLP,DLP 合规问题都不会阻止应用的保存操作。 无论是否豁免 DLP,都会显示 DLP 不合规警告。
3 制作者保存不符合 DLP 但豁免 DLP 的流 无论是否豁免 DLP,DLP 合规问题都不会阻止流的保存操作。 DLP 不合规警告不会显示。

治理错误消息内容命令

以下 cmdlet 可以将您的最终用户引向您组织的治理参考资料。 该命令包括指向治理文档和治理联系人的链接,用于在收到治理控制提示时使用。 例如,设置了治理错误消息内容后,它会显示在 Power Apps 数据丢失防护策略运行时执行消息中。

设置治理错误消息内容

New-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

治理错误消息 URL 和电子邮件可以单独显示,也可以一起显示。 您可以使用 enabled 字段启用或禁用治理错误消息。

治理错误消息内容场景

# 场景 空闲情况
1 用户启动不符合 DLP 的使用 Power Apps 创建的应用 正式发布
2 制作者共享 Power Apps 画布应用但没有共享特权 正式发布
3 制作者与所有人共享 Power Apps 画布应用,但没有与所有人共享的特权 正式发布
4 制作者保存不符合 DLP 的使用 Power Apps 创建的应用 正式发布
5 制作者保存不符合 DLP 的 Power Automate 流 正式发布
6 用户将在没有与 Dataverse 环境关联的安全组的安全组成员身份的情况下启动应用 正式发布

显示治理错误消息内容

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

更新治理错误消息内容

Set-PowerAppDlpErrorSettings -TenantId 'TenantId' -ErrorSettings @{  
  ErrorMessageDetails = @{ 
    enabled = $True  
    url = "https://contoso.org/governanceMaterial" 
  } 
  ContactDetails= @{  
    enabled = $True 
    email = "admin@contoso.com" 
  } 
} 

针对违反连接的情况实施 DLP 策略 - 环境

这些 cmdlets 允许您针对环境或租户级别的违规连接实施 DLP 策略。

针对违反连接的情况实施 DLP 策略

您可以对环境中的连接实施 DLP 策略。 执行会禁用违反任何 DLP 策略的现有连接,并启用任何以前禁用的不再违反任何 DLP 策略的连接。

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
环境实施脚本示例
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

针对违反连接的情况实施 DLP 策略 - 租户

您可以在租户中的连接上实施 DLP 策略。 执行会禁用违反任何 DLP 策略的现有连接,并启用任何以前禁用的不再违反任何 DLP 策略的连接。

Start-DLPEnforcementOnConnectionsInTenant

阻止试用许可证命令

命令:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

可使用允许的同意计划 cmdlet 在租户中添加或删除特定类型同意计划的访问权限。 “内部”同意计划是用户可以通过 Power Apps/Power Automate 门户/Power Automate 桌面版自行注册的试用许可证或开发人员计划。 “临时订阅”或“病毒”同意计划是试用许可证,用户可以通过 https://signup.microsoft.com 自行注册。 管理员可以通过 Microsoft Entra ID 或 Microsoft 365 管理门户分配用户。

默认情况下,租户中允许所有类型的同意计划。 但是,Power Platform 管理员可能希望阻止用户为自己分配试用许可证,但保留代表用户分配试用许可证的能力。 可以通过使用 Remove-AllowedConsentPlans -Types "Internal" 命令并禁用 Microsoft Entra ID 中的设置 AllowAdHocSubscriptions 来实现此规则。

重要提示

使用 Remove-AllowedConsentPlans 时,指定类型的所有现有计划都将从租户的所有用户中删除,并且不可恢复。 此命令会阻止该类型的所有未来分配。 如果 Power Platform 管理员希望重新启用该类型的计划,他们可以使用 Add-AllowedConsentPlans。 如果要查看允许的同意计划的当前状态,可以使用 Get-AllowedConsentPlans

如果您有问题

如果有任何评论、建议或问题,请在管理 Power Apps 社区板中发布。

另请参见

开始使用 Power Apps admin 模块。
Microsoft.PowerApps.管理.PowerShell
预览版:可编程性和可扩展性概述