Power Apps和 Power Automate 的 PowerShell 支援

使用適用於 Power Platform 建立者和管理員的 PowerShell Cmdlet,您可以自動執行許多監視和管理工作。 這些工作目前只能在 Power AppsPower AutomatePower Platform 活動中心手動執行。

Cmdlets

Cmdlet 是以 PowerShell 指令碼語言撰寫的函數,會在 PowerShell 中執行命令。 執行這些 Power Apps Cmdlet 可讓您與商務應用程式平台互動,而不需透過網頁瀏覽器的管理入口網站。

您可以將 Cmdlet 與其他 PowerShell 函數結合使用,以編寫可最佳化工作流程的複雜指令碼。 如果您不是租用戶的管理員,您仍然可以使用 Cmdlet,但您只能使用自己擁有的資源。 管理使用者帳戶使用以Admin 開頭的 Cmdlet。

Cmdlet 可從 PowerShell 資源庫取得,分為兩個不同的模組:

如需 Power Apps 管理模組的詳細資訊,請參閱開始使用 Power Apps 管理模組Microsoft.PowerApps.Administration.PowerShell

Note

關於 Dynamics 365 Government 社群雲端 (GCC) 等級 2 支援:

預設端點為「prod」。 如果使用者想要執行以 GCC 環境為目標的 PowerShell 指令碼,則 -端點參數在 GCC Moderate 必須變更為 "usgov"、 GCC High 變更為 "usgovhigh" 或者在 GCC DOD 時變更為 "dod"。

Add-PowerAppsAccount -Endpoint "usgov" 

開始使用 PowerShell

如果您不熟悉 PowerShell 並且需要有關尋找和啟動它的幫助,請移至開始使用 PowerShell。 如果您在使用 PowerShell 或 Cmdlet 時需要協助,請移至 PowerShell 説明系統

先決條件

文章中的 PowerShell 需要 Windows PowerShell 5.x 版本。 若要檢查您電腦中執行的 PowerShell 版本,請執行下列命令:

$PSVersionTable.PSVersion

如果您的版本已過時,請移至升級現有的 Windows PowerShell

重要

本文件中所述的模組使用 .NET Framework,該框架與 PowerShell 6.0 及更高版本不相容。 這些較高版本使用 .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 來為所有所有模組接受 [A] Yes,然後對各模組按 Enter

    顯示在 PowerShell 中接受 InstallationPolicy 值的螢幕擷取畫面。

  4. 在存取命令之前,您可以使用下列命令提供您的認證。 認證會重新整理約 8 小時,然後您需要再次登入。

    # 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
    

模組更新

您可以使用 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
Enable-AdminFlow
Disable-AdminFlow
Remove-AdminFlow
讀取、更新及刪除流程權限 Get-AdminFlowOwnerRole
Set-AdminFlowOwnerRole
Remove-AdminFlowOwnerRole
讀取並回應流程核准 Get-AdminFlowApprovalRequest
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
New-PowerAppPolicyUrlPatterns
Remove-PowerAppPolicyUrlPatterns
讀取、註冊及移除管理應用程式 Get-PowerAppManagementApp
Get-PowerAppManagementApps
New-PowerAppManagementApp
Remove-PowerAppManagementApp
讀取、建立、更新及匯入保護金鑰 Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
New-PowerAppImportProtectionKey
Set-PowerAppTenantProtectionKey

系統管理員的 Power Apps cmdlets

如需更多系統管理員的 Power Apps 和 Power Automate Cmdlet 相關資訊,請參閱適用於 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。

注意

對包含空格的輸入值使用引號。 例如,使用「我的應用程式名稱」。

精選應用程式

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

您可以將 Power Apps 原生 PowerShell 函數與 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 環境。

下載 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 使用者的租用戶,其匯出可能需要一段時間。

Note

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'

會將 PowerApp 的負責人角色變更為目前的使用者,並將原始負責人取代為「可以檢視」角色類型。

注意

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 admin、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 Cmdlet 的完整清單,請參閱 Power Platform 管理員適用的 PowerShell 入門

顯示所有流程

Get-AdminFlow

傳回用戶中所有流程的清單。

顯示流程負責人角色詳細資料

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

傳回指定流程的負責人詳細資料。

注意

環境PowerApps 一樣,FlowName 是唯一識別碼 (guid),與流程的顯示名稱不同。

顯示流程使用者詳細資料

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

傳回關於流程使用的使用者詳細資料。 在此範例中,我們使用 PowerShell 工作階段的目前登入使用者的使用者識別碼做為輸入。

移除流程使用者詳細資料

Remove-AdminFlowUserDetails –UserId 'UserId'

從 Microsoft 資料庫中完全刪除流程使用者的詳細資料。 您必須先刪除輸入使用者擁有的所有流程,才能清除流程使用者詳細資料。

注意

UserId 欄位是使用者 Microsoft Entra 記錄的物件識別碼,可在 Azure 入口網站Microsoft Entra 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 Apps 中的 Dataverse>連線索引標籤下找到原生連線。

顯示用戶中的所有自訂連接器

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 原則中免除資源,您需要以下資訊:

  • 租用戶識別碼 (GUID)
  • DLP 原則識別碼 (GUID)
  • 資源識別碼 (以 GUID 結尾)
  • 資源類型

您可以使用 PowerShell cmdlets Get-PowerApp for apps 和 Get-Flow for flows,來擷取資源識別碼和類型。

刪除指令碼範例

若要免除識別碼為 f239652e-dd38-4826-a1de-90a2aea584d9 的流程和識別碼為 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 原則 - 環境

這些 Cmdlet 可讓您針對環境或租用戶層級的違規連線強制執行 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 管理員模組。
Microsoft.PowerApps.Administration.PowerShell
可編程性和可擴充性概述