Compartir a través de


Compatibilidad de PowerShell con Power Apps y Power Automate

Con los cmdlets de PowerShell para creadores y administradores de Power Platform, puede automatizar muchas tareas de supervisión y administración. Tareas que solo son posibles manualmente hoy en Power Apps, Power Automate o el centro de administración de Power Platform.

Cmdlets

Los cmdlets son funciones escritas en el lenguaje de script PowerShell que ejecutan comandos en PowerShell.... La ejecución de estos cmdlets Power Apps permite interactuar con la plataforma de aplicaciones empresariales sin tener que pasar por el portal de administración en un explorador web.

Puede combinar 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. La cuenta de usuario administrativo utiliza cmdlets que comienzan con Admin.

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 Get started using the Power Apps admin module and Microsoft.PowerApps.Administration.PowerShell.

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 previos para PowerShell

PowerShell en este artículo requiere Windows PowerShell versión 5.x. 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 Upgrading existente Windows PowerShell.

Importante

Los módulos descritos en este documento usan .NET Framework, que no es compatible con PowerShell 6.0 y versiones posteriores. Estas versiones posteriores usan .NET Core.

Instalación del módulo e inicio de sesión

Para ejecutar cmdlets de PowerShell para creadores de aplicaciones:

  1. Ejecute PowerShell como administrador.

    Captura de pantalla que muestra cómo ejecutar PowerShell como Administrador.

  2. Importe los módulos necesarios.

    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 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 pide que acepte el cambio del valor InstallationPolicy del repositorio, acepte [A] Yes en todos los módulos escribiendo A y luego presione Enter para cada módulo.

    Captura de pantalla que muestra dónde aceptar el valor de InstallationPolicy en PowerShell.

  4. Opcionalmente, antes de acceder a los comandos, puedes proporcionar tus credenciales. Las credenciales se actualizan hasta unas ocho horas antes de que deba iniciar sesión de nuevo. Si no se proporcionan las credenciales antes de ejecutar un comando, aparece un mensaje solicitando credenciales.

    # 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. Opcionalmente, se puede apuntar a un punto de conexión específico. El punto de conexión predeterminado es prod. Si un usuario quiere ejecutar un script de PowerShell destinado a un entorno en una región que no sea de producción, como GCC, el -Endpoint parámetro se puede cambiar a usgov para GCC Moderate o usgovhigh para GCC High o dod para GCC DOD. La lista completa de puntos finales admitidos es: "prod,versión preliminar,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" 
    

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, verifique la versión de los módulos Power Platform , usando Get-Module y el parámetro -Name.

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

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

Requisitos previos para cmdlets de Power Apps

Los usuarios con una licencia de Power Apps válida pueden realizar las operaciones en estos cmdlets. Sin embargo, solo tienen acceso a recursos, como aplicaciones y flujos, que se crean o comparten con ellos.

Lista de cmdlet - Cmdlets de fabricante

Nota

Hemos actualizado algunos de los nombres de función de los cmdlets en la versión más reciente para agregar prefijos adecuados para evitar colisiones. Para obtener información general sobre lo que ha cambiado, consulte la tabla siguiente.

Objetivo Cmdlet
Adición de una aplicación de lienzo a una solución de Microsoft Dataverse Set-PowerAppAsSolutionAware
Leer y actualizar entornos Get-AdminPowerAppEnvironment(anteriormente Get-PowerAppsEnvironment)
Get-FlowEnvironment
Restaurar-PowerAppEnvironment(anteriormente Restaurar-AppVersion)
Leer, actualizar, y eliminar una aplicación de lienzo Get-AdminPowerApp(anteriormente Get-App)
Remove-AdminPowerApp(anteriormente Remove-App)
Publish-AdminPowerApp (antes Publish-App)
Leer, actualizar, y eliminar permisos de aplicación de lienzo Get-AdminPowerAppRoleAssignment(anteriormente Get-AppRoleAssignment)
Eliminar-AdminPowerAppRoleAssignment(anteriormente Eliminar-AppRoleAssignment)
Leer, actualizar, y eliminar un flujo Obtener flujo de administración
Habilitar flujo de administración
Deshabilitar AdminFlow
Eliminar flujo de administración
Leer, actualizar, y eliminar permisos de flujo Obtener rol de propietario de flujo de administración
Establecer rol de propietario de flujo de administración
Eliminar rol de propietario de flujo de administración
Lea y responder a aprobaciones de flujo Solicitud de aprobación de Get-AdminFlow
Eliminar aprobaciones de flujo de administración
Leer y eliminar conexiones Get-AdminPowerAppConnection(anteriormente Get-Connection)
Remove-AdminPowerAppConnection(anteriormente Remove-Connection)
Leer, actualizar, y eliminar permisos de conexión Get-AdminPowerAppConnectionRoleAssignment(anteriormente Get-ConnectionRoleAssignment)
Set-AdminPowerAppConnectionRoleAssignment(anteriormente Set-ConnectionRoleAssignment)
Eliminar-AdminPowerAppConnectionRoleAssignment(anteriormente Eliminar-ConnectionRoleAssignment)
Leer y eliminar conectores Get-AdminPowerAppConnector(anteriormente Get-Connector)
Remove-AdminPowerAppConnector(anteriormente Remove-Connector)
Agregar, leer, actualizar y eliminar permisos de conector personalizado Get-AdminPowerAppConnectorRoleAssignment(anteriormente Get-ConnectorRoleAssignment)
Get-PowerAppConnectorRoleAssignment(anteriormente Set-ConnectorRoleAssignment)
Eliminar-PowerAppConnectorRoleAssignment(anteriormente Eliminar-ConnectorRoleAssignment)
Leer, agregar y eliminar patrones de URL de directivas Obtener patrones de URL de políticas de PowerApp
Nuevos patrones de URL de políticas de PowerApp
Eliminar patrones de URL de políticas de PowerApp
Leer, registrar y quitar aplicaciones de administración Obtener aplicación de gestión de PowerApp
Obtener aplicaciones de administración de PowerApp
Nueva aplicación de gestión de PowerApp
Eliminar PowerAppManagementApp
Leer, crear, actualizar e importar claves de protección Obtener-PowerAppRetrieveAvailableTenantProtectionKeys
Obtener clave de protección de PowerAppGenerate
Obtener clave de protección del inquilino de PowerAppRetrieve
Nueva clave de protección de importación de PowerApp
Establecer clave de protección de inquilinos de PowerApp

cmdlets de Power Apps para administradores

Para obtener más información sobre los cmdlets de Power Apps y Power Automate para administradores, consulte Get started with PowerShell for Power Platform Administrators.

Recomendaciones

  • Use Get-Help seguido de CmdletName para obtener una lista de ejemplos.

    Captura de pantalla que muestra el uso del comando Get-Help.

  • Después de escribir guión -, puede presionar Tab para recorrer las etiquetas de entrada. Coloque esta marca después del nombre del cmdlet.

Comandos de ejemplo:

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

Ejemplos de operaciones

A continuación se muestran algunos escenarios comunes que muestran cómo usar cmdlets de Power Apps nuevos y 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 de Power Apps

Estas operaciones se usan para leer y modificar Power Apps datos en el inquilino.

Mostrar una lista de todos los Power Apps

Get-AdminPowerApp

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

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

Get-AdminPowerApp 'DisplayName'

Este comando enumera todos los Power Apps del inquilino que coinciden con el nombre para mostrar.

Nota

Escriba entre comillas los valores de entradas que contengan espacios. Por ejemplo, utilice "Nombre de mi aplicación".

Caracterizar una aplicación

Set-AdminPowerAppAsFeatured –AppName 'AppName'

Las aplicaciones destacadas se agrupan e insertan en la parte superior de la lista del 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

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

La barra vertical | entre dos cmdlets toma la salida del primer cmdlet y la pasa como el valor de entrada del segundo, si la función se escrito para admitir la característica de la barra vertical.

Nota

Una aplicación ya debe ser una aplicación destacada antes de cambiar a un héroe.

Mostrar el número de aplicaciones que cada usuario posee

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

Puede combinar funciones nativas de PowerShell con los cmdlets de Power Apps para manipular los datos aún 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 entorno.

Descarga de los detalles del usuario de Power Apps

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

El comando anterior almacena los detalles del usuario Power Apps (información de uso básica sobre el usuario de entrada a través de 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) del inquilino en un archivo de .csv vista tabular. El archivo exportado contiene tanto planes de prueba internos, de autoservicio, de registro como de planes de prueba internos procedentes de Microsoft Entra ID. Los planes de prueba internos no son visibles para los administradores del centro de administración de Microsoft 365.

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

Nota

La salida del cmdlet de Get-AdminPowerAppLicenses solo incluye licencias para los usuarios que accedieron a los servicios de Power Platform (por ejemplo, Power Apps, Power Automate o centro de administración de Power Platform). Los usuarios que tenían licencias asignadas en Microsoft Entra ID (normalmente a través del centro de administración de Microsoft 365) pero que nunca han accedido a los servicios de Power Platform no tienen sus licencias incluidas en la salida de .csv generada. Además, dado que los servicios de licencias de Power Platform almacenan en caché las licencias, las actualizaciones realizadas en asignaciones de licencias en Microsoft Entra ID pueden tardar hasta siete días en reflejarse en la salida de los usuarios que no accedieron 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 un Power App al usuario actual y reemplaza al 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'

Este comando muestra todas las aplicaciones de lienzo que se eliminaron recientemente, ya que aún pueden recuperarse. La duración restaurable es de 28 días. Cualquier aplicación eliminada después de 28 días no se devuelve en esta lista y no se puede recuperar.

Recuperar una aplicación de lienzo eliminada

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

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

Designar SharePoint entorno de formulario personalizado

Los siguientes cmdlets se pueden usar para especificar y comprobar en qué entorno se guardan los formularios personalizados SharePoint, en lugar del entorno predeterminado. Cuando cambia el entorno designado para SharePoint formularios personalizados, este entorno es 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 se elimina el entorno de formulario personalizado designado SharePoint, los formularios personalizados se eliminan con él.

Get-AdminPowerAppSharepointFormEnvironment  

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

Set-AdminPowerAppSharepointFormEnvironment –EnvironmentName 'EnvironmentName' 

Este comando designa el entorno recién creado SharePoint formularios personalizados guardados en, en lugar del entorno predeterminado. Los formularios personalizados existentes no se migran automáticamente al entorno recién designado. Solo se puede designar el entorno de producción para SharePoint formularios personalizados.

Reset-AdminPowerAppSharepointFormEnvironment  

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

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 true, solo los usuarios con un rol de administrador (administrador de Dynamics 365, administrador de servicios de Power Platform Microsoft Entra administrador de inquilinos) pueden compartir aplicaciones con Everyone 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

Surface el contenido del mensaje de error de gobernanza de la organización

Si especifica que el contenido del mensaje de error de gobernanza aparezca en los mensajes de error, se incluirá el contenido del mensaje de error 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é funcionalidades de Power Automate se incluyen en 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:

  • Para un flujo sin solución, la URL se ve así:

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

    El GUID después de environments/ es el nombre del entorno y el GUID después de flows/ es el nombre del flujo

  • Para un flujo con solución, la URL se ve así:

    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
    

    El GUID después de environments/ es el nombre del entorno y el GUID después de flows/ es el nombre del flujo

  • El AppName de una aplicación de lienzo se puede encontrar en la página de detalles de la aplicación de lienzo.

    Captura de pantalla que muestra que el AppName de una aplicación de lienzo se puede encontrar en la página de detalles de la aplicación de lienzo.

  • El AppName para una aplicación basada en modelo se puede encontrar en el explorador de soluciones.

    Captura que muestra el AppName para una aplicación basada en modelo se puede encontrar en el explorador de soluciones.

  • Para ver los ejemplos, escriba: get-help Add-AdminFlowPowerAppContext -examples.

  • Para obtener información, escriba: get-help Add-AdminFlowPowerAppContext -detailed.

  • Para obtener información técnica, escriba: get-help Add-AdminFlowPowerAppContext -full.

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 de Power Automate

Use estos comandos importantes para realizar la administración relacionada con Power Automate.

Para obtener una lista completa de los cmdlets de Power Automate y Power Apps para administradores, consulte Get started with PowerShell for Power Platform Administrators.

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 Microsoft Entra del usuario, que se puede encontrar en el portal de Azure en Microsoft Entra ID>Users>Profile> 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

Agregar flujos en soluciones de Dataverse

Add-AdminFlowsToSolution -EnvironmentName <String>

Migra todos los flujos que no son de solución en el entorno.

Las variaciones de parámetros se pueden utilizar para migrar solo flujos específicos, agregarlos a una solución específica o migrar solo una cantidad determinada de flujos a la vez.

Para obtener detalles técnicos, consulte Add-AdminFlowsToSolution.

Enumerar flujos de acción HTTP

Get-AdminFlowWithHttpAction -EnvironmentName <String>

Enumera los flujos con acciones HTTP.

DisplayName (Nombre para mostrar) FlowName EnvironmentName
Obtener HTTP de factura flow-1 environment-1
Pago de factura desde la aplicación flow-2 environment-2
Conciliación de la cuenta flow-3 environment-3

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>Connections en 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 enumera los conectores personalizados que están en una solución. Es una limitación conocida.

Comandos de directiva de datos

Estos cmdlets controlan las directivas de datos en el inquilino.

Creación de una directiva de datos

New-DlpPolicy

Crea una nueva directiva de datos para el inquilino del administrador que ha iniciado sesión.

Recuperar una lista de objetos de directiva de datos

Get-DlpPolicy

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

Nota

  • Al ver una directiva de datos mediante PowerShell, el nombre para mostrar de los conectores procede de cuándo se creó la directiva de datos o cuándo se movieron por última vez los conectores dentro de la directiva. Los nuevos cambios en los nombres para mostrar de los conectores no se reflejan.
  • Al ver una directiva de datos mediante PowerShell, no se devuelven nuevos conectores del grupo predeterminado que no 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 hacerlo, cada uno de los conectores es visible con su nombre correcto.

Actualización de una directiva de datos

Set-DlpPolicy

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

Quitar una directiva

Remove-DlpPolicy

Elimina una directiva de datos.

Cmdlets de exención de recursos de datos

Estos cmdlets permiten excluir o anular el uso de un recurso específico de una directiva.

Recuperación de una lista de recursos exentos existente para una directiva de datos

Get-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Crear una nueva lista de recursos exentos para una directiva de datos

New-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -NewDlpPolicyExemptResources 

Actualización de la lista de recursos exentos para una directiva de datos

Set-PowerAppDlpPolicyExemptResources -TenantId -PolicyName -UpdatedExemptResources 

Quitar la lista de recursos exentos de una directiva de datos

Remove-PowerAppDlpPolicyExemptResources -TenantId -PolicyName 

Para excluir un recurso de una directiva de datos, necesita la siguiente información:

  • Id. de inquilino (GUID)
  • Identificador de directiva de datos (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 de script de eliminación

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

Experiencia de exención de directiva de datos en los siguientes escenarios

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

Comandos de contenido del mensaje de error de gobernanza

Los siguientes cmdlets pueden llevar a los usuarios finales al material de referencia de gobernanza de su organización. El comando incluye un vínculo a la documentación de gobernanza y un contacto de gobernanza para cuando los controles de gobernanza lo soliciten. Por ejemplo, cuando se establece el contenido del mensaje de error de gobernanza, aparece en Power Apps mensajes de cumplimiento del tiempo de ejecución de la directiva de datos.

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. Puede habilitar o deshabilitar el mensaje de error de gobernanza con el campo enabled.

Escenarios de contenido del mensaje de error de gobernanza

# Escenario Disponibilidad
1 El usuario inicia una aplicación creada con Power Apps que no es compatible con la directiva de datos Disponible en general
2 Maker comparte una aplicación de lienzo de Power Apps, pero no tiene privilegios de uso compartido. Disponible en general
3 Maker comparte una aplicación de lienzo de Power Apps con Everyone pero no tiene privilegios para compartir con Everyone Disponible en general
4 Maker guarda una aplicación creada con Power Apps que no es compatible con la directiva de datos Disponible en general
5 Maker guarda un flujo de Power Automate que no es compatible con la directiva de datos 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" 
  } 
} 

Aplicación de la directiva de datos para infringir conexiones: entorno

Estos cmdlets permiten aplicar la directiva de datos para infringir las conexiones en el nivel de entorno o inquilino.

Aplicación de directivas de datos para infringir conexiones

Puede aplicar directivas de datos en conexiones en un entorno. La aplicación de deshabilita las conexiones existentes que infringen las directivas de datos y habilita las conexiones deshabilitadas anteriormente que ya no infringen las directivas de datos.

Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName [Environment ID]
Ejemplo de script de aplicación del entorno
Start-DLPEnforcementOnConnectionsInEnvironment -EnvironmentName c4a07cd6-cb14-e987-b5a2-a1dd61346963 

Aplicación de directivas de datos para infringir conexiones: inquilino

Puede aplicar directivas de datos en las conexiones del inquilino. La aplicación de deshabilita las conexiones existentes que infringen las directivas de datos y habilita las conexiones deshabilitadas anteriormente que ya no infringen las directivas de datos.

Start-DLPEnforcementOnConnectionsInTenant

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 para los que los usuarios pueden registrarse a través de Power Apps/Power Automate portales o Power Automate para escritorio. Los planes de consentimiento de "suscripción ad hoc" o "virales" son licencias de prueba o planes de desarrollador en los que los usuarios pueden registrarse en https://signup.microsoft.com. Los administradores pueden asignar usuarios a través de Microsoft Entra ID o el portal de administración de Microsoft 365.

De forma predeterminada, se permiten todos los tipos de planes de consentimiento en un inquilino. Sin embargo, es posible que un administrador de Power Platform quiera impedir que los usuarios asignen licencias de prueba, pero conserven la capacidad de asignar licencias de prueba en nombre de los usuarios. Esta regla se puede realizar mediante el comando Remove-AllowedConsentPlans -Types "Internal" y no permitiendo la configuración Update-MgPolicyAuthorizationPolicy -AllowedToSignUpEmailBasedSubscriptions en Microsoft Entra ID.

Si tiene preguntas

Si tiene comentarios, sugerencias o preguntas, publiquelos en el Administering Power Apps junta de la comunidad.