Compartir a través de


Compatibilidad con PowerShell para 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 hoy solo son posibles de realizar de forma manual en , o en Power AppsCentro de administración Power Automate. Power Platform

Cmdlets

Los cmdlets son funciones escritas en el lenguaje de script de PowerShell que ejecutan comandos en 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 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, consulte Introducción al uso del módulo de administración y Administración.PowerShell. Power Apps Power Apps MicrosoftPowerApps

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

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 descritos en este documento utilizan .NET Framework, que es incompatible con PowerShell 6.0 y posteriores. Estas versiones posteriores utilizan .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 desea ejecutar un script de PowerShell dirigido a un ambiente en una región que no es de producción, como GCC, el parámetro se puede cambiar a -Endpoint para GCC Moderate, o usgov para usgovhigh , o GCC Highpara GCC DOD. 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

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 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(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 Power Apps y cmdlets de Power Automate para administradores, consulte Introducción a PowerShell para administradores de Power Platform.

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

Este comando muestra 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. Por ejemplo, utilice "Nombre de mi aplicación".

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 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 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 Microsoft Entra ID. 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 Microsoft Entra ID (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 Microsoft Entra ID 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 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.

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.

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 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 el designado formulario personalizado de SharePoint designado se elimina, los formularios personalizados también se eliminarán.

Get-AdminPowerAppSharepointFormEnvironment  

Este comando 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' 

Este comando 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 Microsoft Entra) 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 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é 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:

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

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

Para obtener una lista completa de cmdlets de Power Automate y Power Apps para administradores, consulte Introducción a PowerShell para administradores de Power Platform.

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 por completo los detalles de un usuario de flujo. Microsoft base de datos. 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 encuentra en Azure Portal, en Microsoft Entra ID>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

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.

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 enumera 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 política DLP mediante PowerShell, el nombre de los conectores corresponde al momento en que se creó la política DLP o a la última vez que los conectores se movieron dentro de la política. Los nuevos cambios en los nombres para mostrar de los conectores no se reflejarán.
  • Al ver una política de DLP mediante PowerShell, no se devolverán los nuevos conectores del grupo predeterminado que no se hayan 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 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 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 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 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. 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 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 Disponible en general
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" 
  } 
} 

Aplicar la directiva DLP para conexiones infractoras a nivel de entorno

Estos cmdlets le permiten aplicar la directiva DLP para conexiones infractoras a nivel de entorno o inquilino.

Aplicar las directivas DLP para conexiones infractoras

Puede aplicar directivas de DLP en las conexiones de un entorno. Al aplicarlas se deshabilitan las conexiones existentes que infrinjan cualquier política de DLP y habilita cualquier conexión previamente deshabilitada que ya no infrinja políticas de DLP.

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

Aplicar las directivas DLP para conexiones infractoras: inquilino

Puede aplicar directivas de DLP en las conexiones en el inquilino. Al aplicarlas se deshabilitan las conexiones existentes que infrinjan cualquier política de DLP y habilita cualquier conexión previamente deshabilitada que ya no infrinja políticas de DLP.

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 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 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, todos los tipos de planes de consentimiento están permitidos en un inquilino. Sin embargo, un administrador de Power Platform podría desear impedir que los usuarios se asignen licencias de prueba, pero conserva la capacidad de asignar licencias de prueba en nombre de los usuarios. Esta regla se puede lograr mediante el comando Remove-AllowedConsentPlans -Types "Internal" y deshabilitando la configuración AllowAdHocSubscriptions en Microsoft Entra ID.

Importante

Al usar Remove-AllowedConsentPlans, todos los planes existentes del tipo especificado se eliminan de todos los usuarios del inquilino y no son recuperables. Este comando bloquea todas las asignaciones futuras de ese tipo. Si el administrador de Power Platform desea volver a habilitar planes de ese tipo, pueden usar Add-AllowedConsentPlans. Si desean ver el estado actual de los planes de consentimiento permitidos, pueden usar Get-AllowedConsentPlans.

Si tiene preguntas

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

Consulte también

Comience a utilizar el Power Apps módulo de administración.
Microsoft.PowerApps .Administración.PowerShell
versión preliminar: Descripción general de programabilidad y extensibilidad