Suporte do PowerShell para o Power Apps e o Power Automate

Com os cmdlets do PowerShell para criadores e administradores do Power Platform, você pode automatizar muitas tarefas de monitoramento e gerenciamento. Tarefas que só são possíveis manualmente hoje no Power Apps, Power Automate ou no Centro de atividades do Power Platform.

Cmdlets

Cmdlets são funções escritas em linguagem de script do PowerShell que executam comandos no ambiente do Windows PowerShell. A execução desses cmdlets do Power Apps permite que você interaja com a Plataforma do Business Applications sem precisar entrar no portal de administração em um navegador da Web.

Você pode combinar esses cmdlets com outras funções do PowerShell para escrever scripts complexos que possam otimizar o fluxo de trabalho. Você ainda pode usar os cmdlets se você não for um administrador no locatário, mas será limitado aos recursos de sua propriedade. A conta de usuário administrativo usa cmdlets que começam com Admin.

Os cmdlets estão disponíveis na galeria do PowerShell como dois módulos separados:

Para informações sobre o módulo de administração doPower Apps, consulte Introdução ao módulo de administração do Power Apps e Microsoft.PowerApps.Administration.PowerShell.

Nota

Em relação ao suporte ao Dynamics 365 Government Community Cloud (GCC) nível 2:

O ponto de extremidade padrão é "prod". Se um usuário deseja executar um script do PowerShell direcionado a um ambiente GCC, o parâmetro -Endpoint precisa ser alterado para "usgov" de GCC Moderate ou "usgovhigh" de GCC High ou "dod" de GCC DOD.

Add-PowerAppsAccount -Endpoint "usgov" 

Introdução ao PowerShell

Se você for novo no PowerShell e precisar de ajuda para localizá-lo e iniciá-lo, acesse Introdução ao PowerShell. Se precisar de ajuda para usar o PowerShell ou os cmdlets, acesse O Sistema de Ajuda do PowerShell.

Pré-requisitos

Neste artigo, o PowerShell requer a versão 5.x. do Windows PowerShell. Para verificar a versão do PowerShell em execução na sua máquina, execute o seguinte comando:

$PSVersionTable.PSVersion

Se você possui uma versão desatualizada, acesse Atualização do Windows PowerShell existente.

Importante

Os módulos descritos neste documento usam o .NET Framework, que é incompatível com o PowerShell 6.0 e posterior. Essas versões mais recentes usam o .NET Core.

Instalação do módulo

Para executar cmdlets PowerShell para criadores de aplicativos:

  1. Execute o PowerShell como um administrador.

    Captura de tela que mostra como executar o PowerShell como administrador.

  2. Importar os módulos necessários.

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

    Como alternativa, se você não possui direitos de administrador no seu computador, use o parâmetro -Scope CurrentUser para instalação.

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. Se for solicitado para você aceitar a alteração do valor InstallationPolicy do repositório, aceite [A] Yes para todos os módulos, digitando A, em seguida, pressione Enter para cada módulo.

    Captura de tela que mostra onde aceitar o valor InstallationPolicy no PowerShell.

  4. Antes de acessar qualquer comando, você pode fornecer suas credenciais usando o comando a seguir. As credenciais são atualizada em até oito horas antes de você precisar entrar novamente.

    # 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
    

Atualizações do módulo

Você pode verificar a versão de todos os seus módulos do PowerShell usando Get-Module.

Get-Module

E você pode atualizar todos os seus módulos do PowerShell para o mais recente usando Update-Module.

Update-Module

Como alternativa, verifique a versão dos módulos do Power Platform, usando Get-Module e o parâmetro -Name.

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

Atualize os módulos do PowerShell do Power Platform usando Update-Module e o parâmetro -Name.

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

Cmdlets do Power Apps para criadores de aplicativos

Pré-requisitos

Os usuários com uma licença válida do Power Apps podem executar operações nesses cmdlets. No entanto, eles só têm acesso a recursos, como aplicativos e fluxos, que são criados ou compartilhados com eles.

Lista de cmdlets — Criador de cmdlets

Observação

Atualizamos alguns nomes de função de cmdlets na versão mais recente para adicionar prefixos adequados para evitar colisões. Consulte a tabela a seguir para obter uma visão geral do que foi alterado.

Finalidade Cmdlet
Adicionar um aplicativo de tela a uma solução do Microsoft Dataverse Set-PowerAppAsSolutionAware
Ler e atualizar ambientes Get-AdminPowerAppEnvironment(anteriormente Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment(anteriormente Restore-AppVersion)
Ler, atualizar e excluir um aplicativo de tela Get-AdminPowerApp(anteriormente Get-App)
Remove-AdminPowerApp(anteriormente Remove-App)
Publish-AdminPowerApp (anteriormente Publish-App)
Ler, atualizar e excluir permissões de aplicativo de tela Get-AdminPowerAppRoleAssignment(anteriormente Get-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment(anteriormente Remove-AppRoleAssignment)
Ler, atualizar e excluir um fluxo Get-AdminFlow
Enable-AdminFlow
Disable-AdminFlow
Remove-AdminFlow
Ler, atualizar e excluir permissões de fluxo Get-AdminFlowOwnerRole
Set-AdminFlowOwnerRole
Remove-AdminFlowOwnerRole
Ler e responder aprovações de fluxo Get-AdminFlowApprovalRequest
Remove-AdminFlowApprovals
Ler e excluir conexões Get-AdminPowerAppConnection(anteriormente Get-Connection)
Remove-AdminPowerAppConnection(anteriormente Remove-Connection)
Ler, atualizar e excluir permissões de conexão Get-AdminPowerAppConnectionRoleAssignment(anteriormente Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(anteriormente Set-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment(anteriormente Remove-ConnectionRoleAssignment)
Ler e excluir conectores Get-AdminPowerAppConnector(anteriormente Get-Connector)
Remove-AdminPowerAppConnector(anteriormente Remove-Connector)
Adicionar, ler, atualizar e excluir permissões de conector personalizadas Get-AdminPowerAppConnectorRoleAssignment(anteriormente Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment(anteriormente Set-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment(anteriormente Remove-ConnectorRoleAssignment)
Ler, adicionar e remover padrões de política de URL Get-PowerAppPolicyUrlPatterns
New-PowerAppPolicyUrlPatterns
Remove-PowerAppPolicyUrlPatterns
Ler, registrar e remover aplicativos de gerenciamento Get-PowerAppManagementApp
Get-PowerAppManagementApps
New-PowerAppManagementApp
Remove-PowerAppManagementApp
Ler, criar, atualizar e importar chaves de proteção Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
New-PowerAppImportProtectionKey
Set-PowerAppTenantProtectionKey

Cmdlets do Power Apps para administradores

Para obter informações sobre os cmdlets do Power Apps e do Power Automate para administradores, consulte Introdução ao PowerShell para Administradores do Power Platform.

Dicas

  • Use Get-Help seguido por um CmdletName para obter uma lista de exemplos.

    Captura de tela que mostra o uso do comando Get-Help.

  • Depois de digitar traço -, você pode pressionar Tab para percorrer as marcas de entrada. Coloque esse sinalizador após o nome do cmdlet.

Exemplos de comandos:

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

Exemplos de operações

A seguir estão alguns cenários comuns que mostram como usar cmdlets novos e existentes do Power Apps.

Comandos de ambientes

Use estes comandos para obter detalhes e atualizar ambientes no seu locatário.

Exibir uma lista de todos os ambientes

Get-AdminPowerAppEnvironment

Retorna uma lista de todos os ambientes do seu locatário, com detalhes de cada um (por exemplo, nome do ambiente (guid), nome para exibição, local e muito mais).

Exibir detalhes do seu ambiente padrão

Get-AdminPowerAppEnvironment –Default

Retorna os detalhes apenas do ambiente padrão do locatário.

Exibir detalhes de um ambiente específico

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

Observação

O campo EnvironmentName é um identificador exclusivo que é diferente do DisplayName (consulte o primeiro e o segundo campos na saída na imagem a seguir.)

Comando Get-AdminEnvironment.

Comandos do Power Apps

Essas operações são usadas para ler e modificar dados do Power Apps no seu locatário.

Exibir uma lista de todos os Power Apps

Get-AdminPowerApp

Retorna uma lista de todos os Power Apps no locatário, com detalhes de cada um (por exemplo, nome do aplicativo (guid), nome para exibição, criador e muito mais).

Exibir uma lista de todos Power Apps que correspondam ao nome para exibição da entrada

Get-AdminPowerApp 'DisplayName'

Este comando lista todos Power Apps em seu locatário que corresponde ao nome de exibição.

Observação

Use aspas redor de valores de entrada que contêm espaços. Por exemplo, use "Nome do Meu Aplicativo".

Destacar um aplicativo

Set-AdminPowerAppAsFeatured –AppName 'AppName'

Os aplicativos destacados são agrupados e enviados por push à parte superior da lista no player móvel do Power Apps.

Observação

Como os ambientes, o AppName é um identificador exclusivo, que é diferente de DisplayName. Se quiser realizar operações com base no nome para exibição, algumas funções permitirão que você use o pipeline (ver a próxima função).

Torne um aplicativo em evidência, usando o pipeline

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

Um aplicativo em evidência aparece na parte superior da lista do player móvel do Power Apps. Só pode haver um aplicativo em evidência.

O caractere de barra vertical | entre dois cmdlets obtém a saída do primeiro cmdlet e a transmite como o valor de entrada do segundo, se função foi escrita para acomodar o recurso da barra vertical.

Observação

Um aplicativo já deve estar em destaque antes de ser alterado para em evidência.

Exiba o número de aplicativos pertencente a cada usuário

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

Você pode combinar funções nativas do PowerShell com os cmdlets do Power Apps para manipular ainda mais os dados. Usamos aqui a função Selecionar para isolar o atributo Proprietário (um objeto) do objeto Get-AdminApp. Depois, isolamos o nome do objeto proprietário, gerando pipeline de saída para outra função Selecionar. Finalmente, passar a segunda saída de função Selecionar para a função Grupo retorna uma ótima tabela que inclui uma contagem do número de aplicativos de cada proprietário.

Comando Get-AdminPowerApp.

Exiba o número de aplicativos em cada ambiente

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

Ambiente Get-AdminPowerApp.

Baixar detalhes de usuário do Power Apps

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

O comando anterior armazena os detalhes de usuário do Power Apps (informações de uso básicas sobre o usuário de entrada via nome de usuário principal) no arquivo de texto especificado. Cria um novo arquivo, se não existir um arquivo com esse nome, e substitui o arquivo de texto, caso já exista.

Exportar uma lista de licenças de usuário atribuídas

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

Exporta todas as licenças de usuário atribuídas (Power Apps e Power Automate) no seu locatário em um arquivo .csv de exibição tabular. O arquivo exportado contém planos de avaliação interna de inscrição de autoatendimento e planos originados do Microsoft Entra ID. Os planos de avaliação internos não são visíveis para os administradores no centro de administração do Microsoft 365.

A exportação pode demorar um pouco para locatários com um grande número de usuários do Microsoft Power Platform.

Nota

A saída do cmdlet Get-AdminPowerAppLicenses só inclui licenças para usuários que acessaram serviços do Power Platform (por exemplo, o centro de administração do Power Apps, Power Automate ou Power Platform). Os usuários que tiveram licenças atribuídas no Microsoft Entra ID (geralmente por meio do centro de administração do Microsoft 365), mas nunca acessaram os serviços do Power Platform, não terão suas licenças incluídas na saída .csv gerada. Além disso, como os serviços de licenciamento do Power Platform armazenam as licenças em cache, atualizações feitas em atribuições de licenças no Microsoft Entra ID podem levar até sete dias para serem refletidas na saída para usuários que não acessaram o serviço recentemente.

Definir o usuário conectado como proprietário de um aplicativo de tela

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

Altera a função de proprietário de um PowerApp para o usuário atual e substitui o proprietário original como um tipo de função "pode exibir".

Observação

Os campos AppName e EnvironmentName são os identificadores exclusivos (guids) e não os nome de exibição.

Exibir uma lista de aplicativos de tela excluídos em um ambiente

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

Este comando exibe todos os aplicativos de tela recentemente excluído, pois eles ainda podem ser recuperados.

Recuperar um aplicativo de tela excluído

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

Este comando recupera um aplicativo de tela que pode ser descoberto por meio do cmdlet Get-AdminDeletedPowerAppsList. Qualquer aplicativo de tela que não seja exibido em Get-AdminDeletedPowerAppsList não pode ser recuperado.

Designar ambiente de formulário personalizado do SharePoint

Os seguintes cmdlets podem ser usados para especificar e verificar em qual ambiente os formulários personalizados do SharePoint são salvos, em vez do ambiente padrão. Quando o ambiente designado para formulários personalizados do SharePoint muda, este é o ambiente onde os formulários personalizados recém-criados são salvos. Os formulários personalizados existentes não migram automaticamente para ambientes diferentes à medida que esses cmdlets são usados. A capacidade de um usuário criar um formulário personalizado em um ambiente designado requer que o usuário tenha a função de Criador de Ambientes. Os usuários podem receber a função de Criador de Ambientes no centro de administração do Power Platform.

Qualquer ambiente que não seja o ambiente padrão pode ser excluído. Se o ambiente designado de formulário personalizado do SharePoint for excluído, os formulários personalizados serão excluídos com ele.

Get-AdminPowerAppSharepointFormEnvironment  

Este comando retorna o EnvironmentName para o ambiente atualmente designado para formulários personalizados do SharePoint recém-criados. Se um ambiente nunca tiver sido designado, o ambiente padrão é retornado.

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

Este comando designa o ambiente onde os formulários personalizados recém-criados do SharePoint são salvos, em vez do ambiente padrão. Os formulários personalizados existentes não migram automaticamente para o ambiente recém-designado. Apenas ambientes de produção podem ser designados para formulários personalizados do SharePoint.

Reset-AdminPowerAppSharepointFormEnvironment  

Isso redefine o ambiente padrão como o ambiente designado para salvar formulários personalizados do SharePoint.

Exibir configuração de locatário para capacidade de compartilhar aplicativos com Todos

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

Esta configuração controla se os usuários com o direito de acesso Criador de Ambiente poderão compartilhar aplicativos de tela com Todos em uma organização. Quando a configuração é definida como verdadeira, apenas os usuários com função de administrador (administrador do Dynamics 365, administrador de Serviço do Power Platform, administrador de locatário do Microsoft Entra) podem compartilhar aplicativos com Todos em uma organização.

Independentemente das configurações do locatário, os criadores com o privilégio de compartilhamento podem compartilhar aplicativos com grupos de segurança de qualquer tamanho. Esse controle só determina se a abreviação Todos poderá ser usada durante o compartilhamento.

Alterar a configuração de locatário para a capacidade de compartilhar aplicativos com Todos

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

Exiba o conteúdo da mensagem de erro de governança da sua organização

Se você especificar o conteúdo da mensagem de erro de governança para aparecer nas mensagens de erro, o conteúdo será incluído na mensagem de erro exibida quando os fabricantes observarem que não têm permissão para compartilhar aplicativos com Todos. Consulte Comandos de conteúdo de mensagem de erro de governança do PowerShell.

Associar em fluxos de contexto a um aplicativo

Associe fluxos no contexto de um aplicativo ao aplicativo para criar uma dependência entre o aplicativo e os fluxos. Para saber mais sobre fluxos de contexto, consulte Quais funcionalidades do Power Automate estão incluídas nas licenças do Power Apps?

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

EnvironmentName e FlowName podem ser encontrados na URL do fluxo:

  • Para um fluxo Sem Solução, a URL tem esta aparência:

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

    O GUID após environments/ é o EnvironmentName e o GUID após flows/ é o FlowName

  • Para um fluxo Solução, a URL tem esta aparência:

    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
    

    O GUID após environments/ é o EnvironmentName e o GUID após flows/ é o FlowName

  • O AppName para um aplicativo de tela pode ser encontrado na página de detalhes do aplicativo de tela.

    Captura de tela que mostra o AppName para um aplicativo de tela pode ser encontrado na página de detalhes do aplicativo de tela.

  • O AppName para um aplicativo baseado em modelo pode ser encontrado no gerenciador de soluções.

    Captura de tela que mostra que o AppName para um aplicativo baseado em modelo pode ser encontrado no gerenciador de soluções.

  • Para ver os exemplos, digite: get-help Add-AdminFlowPowerAppContext -examples.

  • Para obter mais informações, digite: get-help Add-AdminFlowPowerAppContext -detailed.

  • Para obter informações técnicas, digite: get-help Add-AdminFlowPowerAppContext -full.

Remover em fluxos de contexto de um aplicativo

Remova a dependência entre fluxos e um aplicativo com este comando do PowerShell. O Remove-AdminFlowPowerAppContext remove o contexto do aplicativo do fluxo específico.

    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".

Comandos do Power Automate

Use estes comandos importantes para executar a administração relacionada ao Power Automate.

Para obter uma lista completa de cmdlets do Power Automate e do Power Apps para administradores,, consulte Introdução ao PowerShell para Administradores do Power Platform.

Exibir todos os fluxos

Get-AdminFlow

Retorna uma lista de todos os fluxos do locatário.

Exibir detalhes da função do proprietário do fluxo

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

Retorna detalhes do proprietário do fluxo especificado.

Observação

Como Ambientes e PowerApps, FlowName é o único identificador (guid) que é diferente do nome de exibição do fluxo.

Exibir detalhes do usuário de fluxo

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

Retorna detalhes do usuário referentes ao uso de fluxo. Neste exemplo, estamos usando a ID de usuário do usuário atual conectado da sessão PowerShell como entrada.

Remover detalhes do usuário de fluxo

Remove-AdminFlowUserDetails –UserId 'UserId'

Exclui totalmente os detalhes de um usuário de fluxo do banco de dados da Microsoft. Todos os fluxos pertencentes ao usuário de entrada devem ser excluídos antes de limpar detalhes do usuário de fluxo.

Observação

O campo UserId é a ID de objeto do registro do Microsoft Entra do usuário que pode ser encontrado no portal do Azure no Microsoft Entra ID>Usuários>Perfil>ID do Objeto. É necessário ser um administrador para acessar esses dados daqui.

Exportar todos os fluxos para um arquivo CSV

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

Exporta todos os fluxos do seu locatário para um arquivo .csv de exibição tabular.

Adicionar fluxos nas soluções do Dataverse

Add-AdminFlowsToSolution -EnvironmentName <String>

Migra todos os fluxos sem solução no ambiente.

As variações de parâmetro podem ser usadas para migrar apenas fluxos específicos, adicionar em uma solução específica ou migrar apenas um número definido de fluxos por vez.

Para detalhes técnicos, consulte Add-AdminFlowsToSolution.

Comandos de conexão de API

Exibir e gerenciar conexões API no seu locatário.

Exibir todas as conexões nativas no seu ambiente padrão

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

Exibir uma lista de todas as conexões de API existentes no ambiente padrão. As conexões nativas são encontradas na guia Dataverse>Conexões no Power Apps.

Exibir todos os conectores personalizados no locatário

Get-AdminPowerAppConnector

Retorna uma lista de todos detalhes de conector personalizado no locatário.

Observação

O Get-AdminPowerAppConnector não lista conectores personalizados que estão em uma solução. Essa é uma limitação conhecida.

Comandos da política de prevenção contra perda de dados (DLP)

Esses cmdlets controlam as políticas DLP em seu locatário.

Criar uma política DLP

New-DlpPolicy

Cria uma nova política DLP para o locatário do administrador conectado.

Recuperar uma lista de objetos da DLP

Get-DlpPolicy

Obtém objetos da política para o locatário do administrador conectado.

Observação

  • Ao exibir uma política DLP usando o PowerShell, o nome de exibição dos conectores são de quando a política DLP foi criada ou quando os conectores foram movidos pela última vez dentro da política. As novas alterações nos nomes de exibição dos conectores não serão refletidas.
  • Ao visualizar uma política DLP usando o PowerShell, novos conectores no grupo padrão que não foram movidos não serão retornados.

Para esses dois problemas conhecidos, uma solução alternativa é mover o conector afetado para outro grupo dentro da política e, em seguida, movê-lo de volta para o grupo correto. Depois de fazer isso, cada um dos conectores ficará visível com seu nome correto.

Atualizar uma política DLP

Set-DlpPolicy

Atualiza detalhes da política, como o nome de exibição dela.

Remover uma política

Remove-DlpPolicy

Exclui uma política DLP.

Cmdlets de isenção de recursos DLP

Esses cmdlets permitem que você isente ou cancele a isenção de um recurso específico de uma política DLP.

Recuperar a lista existente de recursos isentos para uma política DLP

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Criar uma lista de recursos isentos para uma política DLP

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

Atualizar a lista de recursos isentos para uma política DLP

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

Remover a lista de recursos isentos para uma política DLP

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Para isentar um recurso de uma política DLP, você precisa das seguintes informações:

  • ID do locatário (GUID)
  • ID da política DLP (GUID)
  • ID do recurso (termina com uma GUID)
  • Tipo de recurso

Você pode recuperar a ID e o tipo do recurso usando os cmdlets Get-PowerApp e Get-Flow do PowerShell para aplicativos e fluxos, respectivamente.

Script de remoção de exemplo

Para isentar o fluxo com ID f239652e-dd38-4826-a1de-90a2aea584d9 e o aplicativo com ID 06002625-7154-4417-996e-21d7a60ad624, é possível executar os seguintes cmdlets:

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.. 

Experiência de isenção de DLP nos seguintes cenários

# Cenário Experiência
1 O usuário inicia um aplicativo que não é compatível com DLP, mas isento de DLP. O lançamento do aplicativo ocorre com ou sem imposição de DLP.
2 O criador salva um aplicativo que não é compatível com DLP, mas isento de DLP Com ou sem isenção de DLP, a conformidade com DLP não bloqueia a operação de gravação do aplicativo. O aviso de não conformidade com DLP é exibido independentemente da isenção de DLP.
3 O criador salva um fluxo que não é compatível com DLP, mas isento de DLP Com ou sem isenção de DLP, a conformidade com DLP não bloqueia a operação de salvamento do fluxo. O aviso de não conformidade com DLP não aparece.

Comandos de conteúdo de mensagem de erro de governança

Os cmdlets a seguir podem levar seus usuários finais ao material de referência de governança da sua organização. O comando inclui um link para a documentação de governança e um contato de governança para quando solicitados pelos controles de governança. Por exemplo, quando o conteúdo da mensagem de erro de governança estiver configurado, ele aparecerá em mensagens de aplicação do tempo de execução da política de Prevenção Contra Perda de Dados do Power Apps.

Definir conteúdo de mensagem de erro de governança

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

A URL e o email da mensagem de erro de governança podem ser mostrados independentemente ou juntos. Você pode habilitar ou desabilitar a mensagem de erro de governança com o campo enabled.

Cenários de conteúdo de mensagem de erro de governança

# Cenário Disponibilidade
1 O usuário inicia um aplicativo criado usando o Power Apps que não é compatível com DLP Disponível para o público geral
2 O criador compartilha um aplicativo de tela do Power Apps, mas não tem privilégio de compartilhamento Disponível para o público geral
3 O criador compartilha um aplicativo de tela do Power Apps com Todos, mas não tem o privilégio de compartilhar com Todos Disponível para o público geral
4 O criador salva um aplicativo criado usando o Power Apps que não é compatível com DLP Disponível para o público geral
5 O criador salva um fluxo do Power Automate que não é compatível com DLP Disponível para o público geral
6 O usuário inicia um aplicativo sem associação de grupo de segurança ao grupo de segurança associado ao ambiente do Dataverse Disponível para o público geral

Exibir conteúdo de mensagem de erro de governança

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

Atualizar conteúdo de mensagem de erro de governança

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

Aplicar a política DLP por violação de conexões - ambiente

Estes cmdlets permitem-lhe impor a política DLP para violar conexões em nível do ambiente ou do locatário.

Aplicar políticas DLP para conexões violadas

Você pode aplicar políticas DLP em conexões em um ambiente. A aplicação desativa as conexões existentes que violam quaisquer políticas DLP e ativa quaisquer conexões anteriormente desativadas que não violem mais nenhuma política DLP.

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
Script de aplicação em nível de ambiente de exemplo
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

Aplicar políticas DLP para conexões violadas - locatário

Você pode aplicar políticas DLP em conexões no locatário. A aplicação desativa as conexões existentes que violam quaisquer políticas DLP e ativa quaisquer conexões anteriormente desativadas que não violem mais nenhuma política DLP.

Start-DLPEnforcementOnConnectionsInTenant

Bloquear comandos de licenças de avaliação

Comandos:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

Os cmdlets de planos de consentimento permitidos podem ser usados para adicionar ou remover o acesso a um determinado tipo de plano de consentimento de um locatário. Planos de consentimento "internos" são licenças de avaliação ou planos para desenvolvedores nos quais os usuários podem se inscrever por meio do Power Apps/portais do Power Automate/Power Automate para desktop. Planos de consentimento de "Assinatura Ad-hoc" ou "Viral" são licenças de avaliação ou planos nos quais os usuários podem se inscrever em https://signup.microsoft.com. Os administradores podem atribuir usuários por meio do Microsoft Entra da ID ou do portal de administração do Microsoft 365.

Por padrão, todos os tipos de planos de consentimento são permitidos em um locatário. No entanto, um administrador do Power Platform pode querer impedir que os usuários atribuam a si próprios licenças de avaliação, mas manter a capacidade de atribuir licenças de avaliação em nome dos usuários. Esta regra pode ser feita usando o comando Remove-AllowedConsentPlans -Types "Internal" e desativando a configuração AllowAdHocSubscriptions no Microsoft Entra ID.

Importante

Ao usar Remove-AllowedConsentPlans, todos os planos existentes do tipo especificado são removidos de todos os usuários no locatário e não podem ser recuperados. Este comando bloqueia todas as atribuições futuras desse tipo. Se o administrador do Power Platform quiser habilitar novamente os planos desse tipo, ele poderá usar Add-AllowedConsentPlans. Se ele quiser exibir o estado atual dos planos de consentimento permitidos, poderá usar Get-AllowedConsentPlans.

Se você tiver dúvidas

Em caso de comentários, sugestões ou dúvidas, poste-os em Administração do conselho da comunidade do Power Apps.

Confira também

Comece a usar o módulo de administração do Power Apps.
Microsoft PowerApps.Administration.PowerShell
Versão preliminar: Visão geral de programação e extensibilidade