通过


对Power Apps和Power Automate的 PowerShell 支持

借助面向 Power Platform 创建者和管理员的 PowerShell cmdlet,您可以自动执行许多监控和管理任务。 Power AppsPower AutomatePower Platform 管理中心中,仅可能0>/c0

Cmdlet

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

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

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

有关Power Apps管理模块的信息,请参阅 Get 开始使用 Power Apps 管理模块Microsoft.PowerApps.Administration.PowerShell

PowerShell 入门

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

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] Yes 并按下 A 对所有模块接受 Enter

    显示在 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 Moderate、 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 的先决条件

具有有效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 cmdlet 的详细信息,请参阅 Get 开始使用 PowerShell for Power Platform Administrators

提示

  • 使用 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

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

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

备注

应用必须是特色应用,然后才能将其更改为 Hero。

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

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'

此命令会显示最近删除且仍可以恢复的所有画布应用。 可还原持续时间为 28 天。 此列表中不会返回 28 天后删除的任何应用,并且无法恢复。

恢复已删除的画布应用

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 Service 管理员、Microsoft Entra租户管理员)的用户才能与组织中的 Everyone 共享应用

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

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

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

Surface组织的治理错误消息内容

如果您指定治理错误消息内容将显示在错误消息中,当制作者发现他们无权与每个人共享应用时,该内容将包含在显示的错误消息中。 请参阅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 cmdlet 的完整列表,请参阅 powerShell for Power Platform Administrators Get 入门

显示所有流

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>ProfileObject ID。 只有管理员才能从这里访问此数据。

将所有流导出到 CSV 文件

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

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

将流添加到 Dataverse 解决方案

Add-AdminFlowsToSolution -EnvironmentName <String>

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

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

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

列出 HTTP作流

Get-AdminFlowWithHttpAction -EnvironmentName <String>

列出具有 HTTP作的流。

显示名称 FlowName EnvironmentName
获取发票 HTTP flow-1 environment-1
从应用支付发票 flow-2 environment-2
协调帐户 flow-3 environment-3

API 连接命令

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

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

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

显示默认环境中的所有 API 连接的列表。 本机连接位于 Dataverse>Connections 选项卡上的 Power Apps 下。

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

Get-AdminPowerAppConnector

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

备注

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

数据策略命令

这些 cmdlet 控制租户上的数据策略。

创建数据策略

New-DlpPolicy

为已登录管理员的租户创建新的数据策略。

检索数据策略对象列表

Get-DlpPolicy

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

备注

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

对于这两个已知问题,解决方法是将受影响的连接器移至策略中的另一个组,然后将其移回正确的组。 执行此作后,每个连接器都以正确的名称可见。

更新数据策略

Set-DlpPolicy

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

移除策略

Remove-DlpPolicy

删除数据策略。

数据资源豁免 cmdlet

这些 cmdlet 允许从策略中免除或取消取消特定资源。

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

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

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

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

更新数据策略的豁免资源列表

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

删除数据策略的豁免资源列表

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

若要从数据策略中免除资源,需要以下信息:

  • 租户 ID (GUID)
  • 数据策略 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 aaaabbbb-0000-cccc-1111-dddd2222eeee -PolicyName bbbbcccc-1111-dddd-2222-eeee3333ffff -NewDlpPolicyExemptResources $exemptResources 
15. 
16. exemptResources 
17. --------------- 
18. {@{id=/providers/Microsoft.ProcessSimple/environments/Default-aaaabbbb-0000-cccc-1111-dddd2222eeee/flows/f239652e-dd38-4826-a1de-90a2aea584d9; type=Microsoft.ProcessSimple/environments/flows}, @{id=/providers/Microsoft.PowerApps/apps/06002625-7154-4417-996e-21d7a60ad.. 

以下方案中的数据策略豁免体验

# 场景 体验
1 用户启动不符合数据策略但数据策略豁免的应用。 应用启动将继续执行或不强制实施数据策略。
2 Maker 保存不符合数据策略但数据策略豁免的应用 使用或不免除数据策略时,数据策略符合性不会阻止应用保存作。 无论数据策略豁免如何,都会显示数据策略不符合警告。
3 Maker 保存不符合数据策略但数据策略豁免的流 使用或不免除数据策略时,数据策略符合性不会阻止流保存作。 不会显示数据策略不符合警告。

治理错误消息内容命令

以下 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 用户启动使用不符合数据策略的Power Apps创建的应用 正式发布
2 Maker 共享Power Apps画布应用,但没有共享权限 正式发布
3 Maker 与 Everyone,但无权与 Everyone 正式发布
4 Maker 保存使用不符合数据策略的Power Apps创建的应用 正式发布
5 Maker 保存不符合数据策略的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" 
  } 
} 

强制实施违反连接的数据策略 - 环境

这些 cmdlet 允许你在环境或租户级别强制实施违反连接的数据策略。

强制实施违反连接的数据策略

可以在环境中对连接强制实施数据策略。 强制禁用违反数据策略的现有连接,并启用以前禁用的任何不再违反数据策略的连接。

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

强制实施违反连接的数据策略 - 租户

可以在租户中的连接上强制实施数据策略。 强制禁用违反数据策略的现有连接,并启用以前禁用的任何不再违反数据策略的连接。

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中的设置 Update-MgPolicyAuthorizationPolicy -AllowedToSignUpEmailBasedSubscriptions

如果您有问题

如果你有评论、建议或问题,请在 Administering Power Apps 社区委员会上发布它们。