Compatibilidad con PowerShell para Power Apps

Con los cmdlets de PowerShell para creadores y administradores de aplicaciones, puede automatizar muchas de las tareas de supervisión y administración que solo son posibles hoy en día de forma manual en Power Apps.

Cmdlets

Cmdlets son funciones escritas en el lenguaje de script de PowerShell que ejecutan comandos en el entorno de Windows PowerShell. Ejecutar estos cmdlets de Power Apps permite que se interactúe con su plataforma de aplicaciones empresariales sin tener que pasar por el portal de administración en un explorador web. Puede combinar estos cmdlets con otras funciones de PowerShell para escribir scripts complejos que pueden optimizar su flujo de trabajo. Puede seguir usando los cmdlets si no es administrador en el inquilino, pero se limita a los recursos de su propiedad. Los cmdlets que empiezan con la palabra "Admin" están diseñados para ser usados por una cuenta de usuario administrativa.

Los cmdlets están disponibles en la galería de PowerShell como dos módulos independientes:

Para obtener información sobre el módulo de administración de Power Apps, consulte Empezar a usar el módulo de administración de Power Apps y Microsoft PowerApps.Administration.PowerShell.

Nota

En relación con compatibilidad de nivel 2 de Dynamics 365 Government Community Cloud (GCC):

El extremo predeterminado es "prod". Si un usuario desea ejecutar un script de PowerShell dirigido a un entorno GCC, el parámetro -Endpoint debe cambiarse a "usgov" para GCC Moderate, "usgovhigh" para GCC High, o "dod" para GCC DOD.

Add-PowerAppsAccount -Endpoint "usgov" 

Introducción a PowerShell

Si es nuevo en PowerShell y necesita ayuda para encontrarlo e iniciarlo, vaya a Introducción a PowerShell. Si necesita ayuda con el uso de PowerShell o los cmdlets, vaya a El sistema de ayuda de PowerShell.

Requisitos

PowerShell en este artículo requiere la versión 5.x de Windows PowerShell. Para comprobar la versión de PowerShell que se ejecuta en su máquina, ejecute el siguiente comando:

$PSVersionTable.PSVersion

Si tiene una versión obsoleta, vaya a Actualizar la versión de Windows PowerShell existente.

Importante

Los módulos que se describen en este documento usan .NET Framework. Esto lo hace incompatible con PowerShell 6.0 y versiones posteriores, que usa .NET Core.

Instalación de módulos

Para ejecutar los cmdlets de PowerShell para creadores de la aplicación, haga lo siguiente:

  1. Ejecute PowerShell como administrador.

    Ejecute PowerShell como administrador.

  2. Importe los componentes necesarios mediante los siguientes comandos:

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

    Como alternativa, si no tiene derechos de administrador en su equipo, puede usar el siguiente parámetro -Scope CurrentUser para la instalación:

    Install-Module -Name Microsoft.PowerApps.Administration.PowerShell -Scope CurrentUser
    Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber -Scope CurrentUser
    
  3. Si se le solicita aceptar el cambio al valor InstallationPolicy del repositorio, acepte [A] Sí a todos los módulos. Para ello, escriba "A" y presione Entrar para cada módulo.

    Aceptar valor de InstallationPolicy.

  4. Antes de acceder a cualquiera de los comandos, tiene la opción de proporcionar sus credenciales usando el comando siguiente. Estas credenciales se actualizan hasta unas 8 horas antes de que deba iniciar sesión de nuevo para continuar usando los cmdlets.

    # This call opens prompt to collect credentials (Azure Active Directory account and password) used by the commands 
    Add-PowerAppsAccount
    
    # Here is how you can pass in credentials (avoiding opening a prompt)
    $pass = ConvertTo-SecureString "password" -AsPlainText -Force
    Add-PowerAppsAccount -Username user@contoso.com -Password $pass
    

Actualizaciones de módulos

Puede verificar la versión de todos sus módulos de PowerShell usando Get-Module

Get-Module

Y puede actualizar todos sus módulos de PowerShell a la última versión usando Update-Module

Update-Module

Alternativamente, puede verificar la versión del módulo de los módulos de Power Platform usando específicamente Get-Module y el parámetro "-Name"

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

Y actualice los módulos de Power Platform PowerShell usando específicamente Update-Module y el parámetro "-Name"

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

Cmdlets de Power Apps para creadores de aplicaciones

Requisito previo

Los usuarios con una licencia de Power Apps válida pueden realizar operaciones en estos cmdlets, pero solo tienen acceso a los recursos (por ejemplo, las aplicaciones y los flujos). que se hayan creado o se han compartido con ellos.

Lista de cmdlet - Cmdlets de fabricante

Nota

Hemos actualizado algunos de los nombres de función de cmdlets en la última versión para agregar prefijos adecuados para evitar colisiones. Consulte la tabla siguiente para una visión general de lo que ha cambiado.

Objetivo Cmdlet
Agregar una aplicación de lienzo a una solución Microsoft Dataverse Set-PowerAppAsSolutionAware
Leer y actualizar entornos Get-AdminPowerAppEnvironment(antes Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restore-PowerAppEnvironment(antes Restore-AppVersion)
Leer, actualizar, y eliminar una aplicación de lienzo Get-AdminPowerApp(antes Get-App)
Remove-AdminPowerApp(antes Remove-App)
Publish-AdminPowerApp (antes Publish-App)
Leer, actualizar, y eliminar permisos de aplicación de lienzo Get-AdminPowerAppRoleAssignment(antes Get-AppRoleAssignment)
Remove-AdminPowerAppRoleAssignment(antes Remove-AppRoleAssignment)
Leer, actualizar, y eliminar un flujo Get-AdminFlow
Enable-AdminFlow
Disable-AdminFlow
Remove-AdminFlow
Leer, actualizar, y eliminar permisos de flujo Get-AdminFlowOwnerRole
Set-AdminFlowOwnerRole
Remove-AdminFlowOwnerRole
Lea y responder a aprobaciones de flujo Get-AdminFlowApprovalRequest
Remove-AdminFlowApprovals
Leer y eliminar conexiones Get-AdminPowerAppConnection(antes Get-Connection)
Remove-AdminPowerAppConnection(antes Remove-Connection)
Leer, actualizar, y eliminar permisos de conexión Get-AdminPowerAppConnectionRoleAssignment(antes Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(antes Set-ConnectionRoleAssignment)
Remove-AdminPowerAppConnectionRoleAssignment(antes Remove-ConnectionRoleAssignment)
Leer y eliminar conectores Get-AdminPowerAppConnector(antes Get-Connector)
Remove-AdminPowerAppConnector(antes Remove-Connector)
Agregar, leer, actualizar y eliminar permisos de conector personalizado Get-AdminPowerAppConnectorRoleAssignment(antes Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment(antes Set-ConnectorRoleAssignment)
Remove-PowerAppConnectorRoleAssignment(antes Remove-ConnectorRoleAssignment)
Leer, agregar y eliminar patrones de URL de directivas Get-PowerAppPolicyUrlPatterns
New-PowerAppPolicyUrlPatterns
Remove-PowerAppPolicyUrlPatterns
Leer, registrar y quitar aplicaciones de administración Get-PowerAppManagementApp
Get-PowerAppManagementApps
New-PowerAppManagementApp
Remove-PowerAppManagementApp
Leer, crear, actualizar e importar claves de protección Get-PowerAppRetrieveAvailableTenantProtectionKeys
Get-PowerAppGenerateProtectionKey
Get-PowerAppRetrieveTenantProtectionKey
New-PowerAppImportProtectionKey
Set-PowerAppTenantProtectionKey

Cmdlets de Power Apps para administradores

Para obtener más información sobre cmdlets de Power Apps para administradores, vaya a Introducción a PowerShell para administradores de Power Platform

Recomendaciones

  • Use Get-Help 'nombre_cmdlet' para obtener una lista de ejemplos.

    Comando Get-Help.

  • Para recorrer las opciones posibles para etiquetas de entrada, seleccione la tecla TAB después de escribir del carácter de guión (-), después del nombre de cmdlet.

Comandos de ejemplo:

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

Ejemplos de operaciones

A continuación encontrará algunos escenarios comunes que muestran cómo usar cmdlets Power Apps nuevos o existentes.

Comandos de entornos

Use estos comandos para obtener detalles y actualizar entornos en su inquilino.

Mostrar una lista de todos los entornos.

Get-AdminPowerAppEnvironment

Devuelve una lista de cada entorno en el inquilino, con detalles de cada uno (por ejemplo, el nombre del entorno (guid), nombre para mostrar, ubicación, creador, etc.).

Mostrar detalles del entorno predeterminado

Get-AdminPowerAppEnvironment –Default

Devuelve los detalles únicamente para el entorno predeterminado del inquilino.

Muestra detalles de entorno específico

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'

Nota: El campo EnvironmentName es un identificador único, que es diferente de DisplayName (consulte los primeros y segundos campos en la salida en la imagen siguiente).

Comando Get-AdminEnvironment.

Comandos Power Apps

Estas operaciones se usan para leer y modificar datos de Power Apps del inquilino.

Mostrar una lista de todos los Power Apps

Get-AdminPowerApp

Devuelve una lista de todas las Power Apps en el inquilino, con detalles de cada uno (por ejemplo, nombre de la aplicación (guid), nombre para mostrar, ubicación, creador y más).

Mostrar una lista de todos los Power Apps que coinciden el nombre para mostrar de entrada

Get-AdminPowerApp 'DisplayName'

Devuelve una lista de todos los Power Apps en el inquilino que coincidan con el nombre para mostrar.

Nota: escriba entre comillas (") los valores de entradas que contengan espacios.

Caracterizar una aplicación

Set-AdminPowerAppAsFeatured –AppName 'AppName'

Las aplicaciones caracterizadas se agrupan y se extraen a la parte superior de la lista en el reproductor móvil de Power Apps.

Nota: Como los entornos, el campo AppName es un identificador único, que es diferente de DisplayName. Si desea realizar operaciones en función del nombre para mostrar, algunas funciones le permitirán usar la canalización (consulte la función siguiente).

Convertir una aplicación en una aplicación prominente mediante la canalización

Get-AdminPowerApp 'DisplayName' | Set-AdminPowerAppAsHero

Una aplicación prominente aparece en la parte superior de la lista del reproductor móvil de Power Apps. Solo puede haber una aplicación prominente.

La canalización (representada como el carácter ‘|’ entre dos cmdlets) toma la salida del primer cmdlet y la pasa como el valor de entrada del segundo, asumiendo que la función se ha programado para admitir la característica de canalización.

Nota: una aplicación ya debe ser una aplicación caracterizada antes de que cambie a prominente.

Mostrar el número de aplicaciones que cada usuario posee

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

Puede combinar las funciones de PowerShell nativas con los cmdlets Power Apps para manipular los datos incluso más. Aquí usamos la función Select para aislar el atributo Propietario (un objeto) del objeto Get-AdminApp. A continuación aislamos el nombre de objeto de propietario canalizando esa salida a otra función Select. Por último, al pasar la segunda salida de la función Select a la función Group se devuelve una tabla interesante que incluye un recuento del número de aplicaciones de cada propietario.

Comando Get-AdminPowerApp.

Mostrar el número de aplicaciones en cada entorno

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

Get-AdminPowerApp environment.

Descargar detalles de usuario de Power Apps

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

El comando anterior almacena los detalles del usuario de Power Apps (información básica de uso sobre el usuario de entrada mediante su nombre principal de usuario) en el archivo de texto especificado. Crea un nuevo archivo si no hay ningún archivo existente con ese nombre, y sobrescribe el archivo de texto si ya existe.

Exportar una lista de licencias de usuario asignadas

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

Exporta todas las licencias de usuario asignadas (Power Apps y Power Automate) en su inquilino en un archivo .csv de vista tabular. El archivo exportado contiene planes de prueba internos de registro de autoservicio y planes con origen en Azure Active Directory. Los planes de prueba internos no son visibles para los administradores en el centro de administración de Microsoft 365.

La exportación puede tardar bastante tiempo para los inquilinos con un gran número de usuarios de Microsoft Power Platform.

Nota

Los resultados del cmdlet Get-AdminPowerAppLicenses solo incluyen licencias para los usuarios que han accedido a los servicios e Power Platform (por ejemplo, el centro de administración de Power Apps, Power Automate o Power Platform). Usuarios que han tenido licencias asignadas en Azure AD (típicamente a través del centro de administración de Microsoft 365) pero nunca he accedido a los servicios de Power Platform no tendrán sus licencias incluidas en la salida .csv generada. Además, dado que los servicios de licencia de Power Platform licencias almacenan en caché las licencias, las actualizaciones realizadas a las asignaciones de licencias en Azure AD puede tardar hasta siete días en reflejarse en el resultado de los usuarios que no han accedido al servicio recientemente.

Establecer el usuario conectado como propietario de una aplicación de lienzo

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

Cambia el rol de propietario de una PowerApp al usuario actual, y reemplaza el propietario original como un tipo de rol "puede ver".

Nota: Los campos AppName y EnvironmentName son los identificadores únicos (guids), no los nombres para mostrar.

Mostrar una lista de aplicaciones de lienzo eliminadas en un entorno

Get-AdminDeletedPowerAppsList -EnvironmentName 'EnvironmentName'

Esto muestra todas las aplicaciones de lienzo que se eliminaron recientemente y que aún pueden recuperarse.

Recuperar una aplicación de lienzo eliminada

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

Esto recupera una aplicación de lienzo que se puede descubrir a través del cmdlet Get-AdminDeletedPowerAppsList. Cualquier aplicación de lienzo que no se muestre en Get-AdminDeletedPowerAppsList no es recuperable.

Entorno de formulario personalizado de SharePoint designado

Los siguientes cmdlets se pueden usar para especificar y verificar en qué entorno se guardan los formularios personalizados de SharePoint, en lugar de en el entorno predeterminado. Cuando el entorno designado para los formularios personalizados de SharePoint cambia, este es el entorno donde se guardan los formularios personalizados recién creados. Los formularios personalizados existentes no se migran automáticamente a diferentes entornos cuando se utilizan estos cmdlets. La capacidad de un usuario para crear un formulario personalizado en un entorno designado requiere que el usuario tenga el rol de Creador del entorno. A los usuarios se les puede otorgar el rol de Creador del entorno en el centro de administración Power Platform.

Se puede eliminar cualquier entorno que no sea el predeterminado. Si el designado formulario personalizado de SharePoint designado se elimina, los formularios personalizados también se eliminarán.

Get-AdminPowerAppSharepointFormEnvironment  

Esto devuelve el EnvironmentName para el entorno actualmente designado para formularios personalizados de SharePoint recién creados. Si nunca se ha designado un entorno, se devuelve al entorno predeterminado.

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

Esto designa el entorno en el que se guardan los formularios personalizados de SharePoint recién creados, en lugar del entorno predeterminado. Los formularios personalizados existentes no se migran automáticamente al entorno recién designado. Solo se pueden designar entornos de producción para formularios personalizados de SharePoint.

Reset-AdminPowerAppSharepointFormEnvironment  

Esto restablece el entorno predeterminado como el entorno designado para guardar los formularios personalizados de SharePoint.

Mostrar configuración de inquilino para la capacidad de compartir aplicaciones con 'Todos'

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

Esta configuración controla si los usuarios con Environment Maker rol de seguridad pueden compartir aplicaciones de lienzo con Todos en una organización. Cuando la configuración se establece en 'verdadero', solo los usuarios con un rol de administrador (administrador de Dynamics 365, Administrador de servicios Power Platform, administrador de inquilinos de Azure AD) puede compartir aplicaciones con 'Todos en una organización'.

Independientemente de esta configuración de inquilino, los creadores de valor con el privilegio de compartir pueden compartir aplicaciones con grupos de seguridad de cualquier tamaño. Este control solo determina si se puede usar la abreviatura 'Todos' al compartir.

Cambiar configuración de inquilino para la capacidad de compartir aplicaciones con 'Todos'

$settings = Get-TenantSettings 
$settings.powerPlatform.powerApps.disableShareWithEveryone = $True 
Set-TenantSettings -RequestBody $settings
Destaque el contenido del mensaje de error de gobernanza de su organización

Si especifica que el contenido del mensaje de error de gobernanza aparezca en los mensajes de error, se incluye en el mensaje de error que se muestra cuando los fabricantes observan que no tienen permiso para compartir aplicaciones con 'Todos'. Consute Comandos de contenido del mensaje de error de gobernanza de PowerShell.

Asociar flujos de contexto a una aplicación

Asocie flujos en el contexto de una aplicación a la aplicación para crear una dependencia entre la aplicación y los flujos. Para obtener más información sobre los flujos de contexto, consulte Qué capacidades de Power Automate están incluidas en las licencias de Power Apps?

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

EnvironmentName y FlowName se pueden encontrar en la URL del flujo:

Eliminar flujos de contexto de una aplicación

Elimine la dependencia entre los flujos y una aplicación con este comando de PowerShell. Remove-AdminFlowPowerAppContext elimina el contexto de la aplicación del flujo 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 Power Automate

Use estos comandos para ver y modificar los datos relacionados con Power Automate.

Mostrar todos los flujos

Get-AdminFlow

Devuelve una lista de todos los flujos en el inquilino.

Mostrar detalles del rol del propietario del flujo

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

Devuelve los detalles del propietario del flujo especificado.

Nota: Como Entornos y PowerApps, FlowName es el identificador único (guid), que es diferente del nombre para mostrar del flujo.

Mostrar detalles del usuario del flujo

Get-AdminFlowUserDetails –UserId $Global:currentSession.userId

Devuelve los detalles de usuario relacionados con el uso del flujo. En este ejemplo, usamos como entrada el id. de usuario del usuario que inició la sesión de PowerShell.

Quitar detalles del usuario del flujo

Remove-AdminFlowUserDetails –UserId 'UserId'

Elimina completamente los detalles sobre un usuario del flujo de la base de datos de Microsoft. Todos los flujos que posee el usuario de entrada deben eliminarse para poder purgar los detalles de usuario del flujo.

Nota: el campo UserId es el identificador de objeto del registro de Azure Active Directory del usuario, que se encuentra en Azure Portal, en Azure Active Directory>Usuarios>Perfil>.Id. de objeto. Debe ser un administrador para acceder a estos datos desde aquí.

Exportar todos los flujos a un archivo CSV

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

Exporta todos los flujos del inquilino en un archivo .csv de vista tabular

Comandos de conexión API

Vea y administrar las conexiones API de su inquilino.

Mostrar todas las conexiones nativas en el entorno predeterminado

Get-AdminPowerAppEnvironment -Default | Get-AdminPowerAppConnection

Muestra una lista de todas las conexiones API que tiene en el entorno predeterminado. Las conexiones nativas se encuentran en la pestaña Dataverse>Conexiones de Power Apps.

Mostrar todos conectores personalizados en el inquilino

Get-AdminPowerAppConnector

Devuelve una lista de todos los detalles de conectores personalizados en el inquilino.

Nota

Get-AdminPowerAppConnector no muestra los conectores personalizados que están en una solución. Es una limitación conocida.

Comandos de directiva de prevención de pérdida de datos (DLP)

Estos cmdlets controlan las directivas DLP en el inquilino.

Crear una directiva DLP

New-DlpPolicy

Crea una nueva directiva de DLP para el inquilino del administrador que inició sesión.

Recuperar una lista de objetos DLP

Get-DlpPolicy

Obtiene objetos de directiva para el inquilino del administrador que inició sesión.

Nota

  • Al ver una directiva de DLP con PowerShell, el nombre de los conectores reflejará los nombres de los conectores cuando se creó la directiva de DLP o cuando se movieron por última vez los conectores específicos dentro de la directiva. En otras palabras, los cambios en los nombres para mostrar de los conectores no se reflejarán.
  • Al ver una directiva de DLP con PowerShell, no se devolverán los conectores nuevos que están en el grupo predeterminado y nunca se han movido.

Para estos dos problemas conocidos, una solución consiste en mover el conector afectado a otro grupo dentro de la directiva y luego volver a moverlo al grupo correcto. Después de hacer esto, cada uno de los conectores será visible con su nombre correcto.

Actualizar una directiva de DLP

Set-DlpPolicy

Actualiza detalles de la directiva, como el nombre para mostrar de la directiva.

Quitar una directiva

Remove-DlpPolicy

Elimina una directiva DLP.

Cmdlets de exención de recursos de DLP

Estos cmdlets le permiten aplicar una exención o anularla para un recurso específico de una política de DLP.

Recuperar la lista de recursos exentos existente para una directiva DLP

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Crear una nueva lista de recursos exentos para una directiva DLP

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

Actualizar la lista de recursos exentos para una directiva DLP

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

Quitar la lista de recursos exentos para una directiva DLP

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Para eximir un recurso de una directiva DLP, necesita la siguiente información:

  • Id. de inquilino (GUID)
  • Id. de directiva DLP (GUID)
  • Id. de recurso (termina con un GUID)
  • Tipo de recurso

Puede recuperar el identificador y el tipo de recurso mediante los cmdlets de PowerShell Get-PowerApp para aplicaciones y Get-Flow para flujos.

Ejemplo

Para eximir el flujo con identificador f239652e-dd38-4826-a1de-90a2aea584d9 y la aplicación con identificador 06002625-7154-4417-996e-21d7a60ad624 se pueden ejecutar los siguientes 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.. 

Experiencia de exención de DLP en los siguientes escenarios:

# Escenario Experiencia
1 El usuario inicia una aplicación que no es compatible con DLP pero está exenta de DLP. El lanzamiento de la aplicación continúa con o sin aplicación de DLP.
2 El creador guarda una aplicación que no es compatible con DLP pero está exenta de DLP Con o sin exención de DLP, el cumplimiento de DLP no bloquea la operación de guardado de la aplicación. La advertencia de incumplimiento de DLP se muestra independientemente de la exención de DLP.
3 El creador guarda un flujo que no es compatible con DLP pero está exenta de DLP Con o sin exención de DLP, el cumplimiento de DLP no bloquea la operación de guardado del flujo. La advertencia de incumplimiento de DLP no aparece.

Comandos de contenido del mensaje de error de gobernanza

Los siguientes cmdlets se pueden utilizar para guiar a los usuarios finales al material de referencia de gobierno de su organización, incluido un vínculo a la documentación de gobierno y un contacto de gobierno, cuando los controles de gobierno lo soliciten. Por ejemplo, cuando se configura el contenido del mensaje de error de gobernanza, aparece en Mensajes de cumplimiento de la política de prevención de pérdida de datos de Power Apps.

Establecer contenido del mensaje de error de gobernanza

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

La URL y el correo electrónico del mensaje de error de gobernanza se pueden mostrar de forma independiente o conjunta. La presencia de cada valor en el mensaje de error de gobernanza se controla mediante el campo "habilitado".

El contenido de este mensaje de error de gobernanza aparece en las siguientes experiencias.
# Experiencia Disponibilidad
1 El usuario inicia una aplicación creada usando Power Apps que no es compatible con DLP Disponible en general
2 Maker comparte una aplicación de lienzo Power Apps pero no tiene privilegio de compartir Generalmente disponible
3 Maker comparte una aplicación de lienzo Power Apps con 'Todos' pero no tiene el privilegio de compartir con 'Todos' Disponible en general
4 El creador guarda una aplicación creada usando Power Apps que no es compatible con DLP Disponible en general
5 El creador guarda un flujo Power Automate que no cumple con DLP Disponible en general
6 El usuario inicia una aplicación sin pertenecer a un grupo de seguridad en el grupo de seguridad asociado al entorno de Dataverse Disponible en general

Mostrar contenido del mensaje de error de gobernanza

Get-PowerAppDlpErrorSettings -TenantId 'TenantId' 

Actualizar el contenido del mensaje de error de gobernanza

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

Bloquear comandos de licencias de prueba

Comandos:

Remove-AllowedConsentPlans
Add-AllowedConsentPlans
Get-AllowedConsentPlans

Los cmdlets de planes de consentimiento permitidos se pueden usar para agregar o eliminar el acceso a un tipo particular de plan de consentimiento de un inquilino. Los planes de consentimiento "internos" son licencias de prueba o planes de desarrollador en los que los usuarios pueden registrarse a través de Power Apps/portales de Power Automate/Power Automate para escritorio. Los planes de consentimiento "Suscripción ad-hoc" o "Viral" son licencias de prueba en las que los usuarios pueden registrarse a través de https://signup.microsoft.com o los administradores pueden asignar a los usuarios a través de Azure Active Directory (Azure AD) o el portal de administración de Microsoft 365.

De forma predeterminada, todos los tipos de planes de consentimiento están permitidos en un inquilino. Un caso de uso común para estos cmdlets es si un administrador de Power Platform quiere bloquear a los usuarios dentro de su inquilino de la capacidad de asignarse licencias de prueba, pero conservar la capacidad de asignar licencias de prueba en nombre de los usuarios. Esto se puede lograr mediante el comando Remove-AllowedConsentPlans -Types "Internal", y deshabilitando la configuración AllowAdHocSubscriptions en Azure AD.

Es importante saber que al usar Remove-allowedConsentPlans, todos los planes existentes del tipo especificado se eliminan de todos los usuarios del inquilino y no se pueden recuperar. Además, bloquea toda asignación subsiguiente adicional de planes de ese tipo. Si, en un momento posterior, el administrador de Power Platform desea volver a habilitar planes de ese tipo que puedan usar Add-allowedConsentPlans. Si desean ver el estado actual de los planes de consentimiento permitidos, pueden usar Get-allowConsentPlans.

Si tiene preguntas

Si tiene comentarios, sugerencias o preguntas, envíelas a Administración del panel de la comunidad de Power Apps.

Vea también

Empezar a usar el módulo de administración de Power Apps
Microsoft.PowerApps.Administration.PowerShell
Vista previa: información general de programabilidad y extensibilidad