Compartir a través de


Acciones de scripting

Importante

Para evitar el acceso no autorizado, Windows requiere derechos Administrador para acceder a los recursos protegidos. Para acceder a recursos protegidos (como archivos) usando las acciones de secuencias de comandos, ejecute Power Automate con derechos de Administrador. Puede encontrar más información sobre cómo ejecutar Power Automate como Administrador en Ejecutar Power Automate con derechos elevados.

Estas acciones permiten a los usuarios ejecutar bloques de código e implementar comportamientos personalizados en flujos de escritorio.

Importante

Como se anunció en octubre de 2023, VBScript está en desuso en Windows. En futuras versiones de Windows, VBScript estará disponible como característica bajo demanda antes de su eliminación del sistema operativo. Para obtener más información, consulte Recursos para características en desuso.

Todas las acciones de scripting siguen la estructura básica del lenguaje de programación o de scripting respectivo: PowerShell, Python, VBScript, JavaScript y C#/VB.NET.

Nota

Versión compatible con C#: v 5.0. Para VB.NET: versión 11.0

Lenguaje natural a script impulsado por copiloto (versión preliminar)

[Este tema es documentación preliminar y está sujeto a modificaciones.]

El lenguaje natural para codificar es una nueva capacidad de copiloto agregada en Power Automate para escritorio. Le permite generar rápidamente código utilizado en las acciones de secuencias de comandos describiéndolo. Esta función está disponible en las acciones de scripting siguientes:

  • Ejecutar PowerShell
  • Ejecutar VBScript
  • Ejecutar comando de DOS
  • Ejecutar Python
  • Ejecutar JavaScript

Importante

  • Esta es una característica en versión preliminar.
  • Las características en vísta previa no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial para que los clientes puedan tener un acceso anticipado y proporcionar comentarios.

isponibilidad por región

Actualmente, el copiloto en Power Automate para escritorio solo está disponible en entornos ubicados en Estados Unidos.

Disponibilidad por tipo de cuenta

Actualmente, copiloto en Power Automate para escritorio solo está disponible para usuarios con una cuenta profesional o educativa.

Nota

Si su entorno se encuentra en la región mencionada anteriormente y aún necesita ver el copiloto en Power Automate para la experiencia de escritorio, comuníquese con su administrador del inquilino. Es posible que hayan desactivado la función de copiloto.

Cómo generar scripts usando copiloto y lenguaje natural

Para generar secuencias de comandos en una de las acciones de secuencias de comandos admitidas, arrastre y suelte la acción en el diseñador y seleccione Generar script con Copilot.

Captura de pantalla de la acción ejecutar PowerShell con el botón Generar script con Copilot resaltado

Se abre la pantalla de creación de mensajes donde puede escribir su mensaje en lenguaje natural.

Captura de pantalla de la acción generar PowerShell con el cuadro de diálogo abierto

Para crear un script, escriba su mensaje y seleccione Generar. Si necesita volver a crearlo, puede cambiar el mensaje y seleccionar Regenerar. De lo contrario, seleccione Usar este script para volver a la ventana de acción principal, donde puede modificarlo y agregar las variables necesarias.

Captura de pantalla de usar esta acción de PowerShell del script con el cuadro de diálogo abierto

Importante

Asegúrese de revisar siempre el contenido generado por el modelo de IA.

Ayúdenos a mejorar esta característica

Envíe comentarios seleccionando el icono del pulgar hacia arriba o hacia abajo debajo del contenido generado por IA. Una vez que lo haga, aparecerá un cuadro de diálogo de comentarios, que puede utilizar para enviar comentarios a Microsoft. Gif animado que muestra al copiloto respondiendo a una pregunta del diseñador por parte de un usuario.

Nota

Si no puede ver el cuadro de diálogo, es posible que el administrador de su inquilino lo haya desactivado. Más información: Desactivar la función de comentarios del usuario

Desactivar la función de comentarios del usuario

Como administrador de inquilinos, puede evitar que sus usuarios envíen comentarios a Microsoft deshabilitando la configuración de inquilinos disableSurveyFeedback. Encuentre más información sobre cómo ver y configurar la configuración del inquilino:

Solicitudes de derechos de los temas sobre los comentarios de los usuarios

Los administradores del inquilino pueden ver, exportar y eliminar los comentarios de sus usuarios iniciando sesión en el Centro de administración de Microsoft 365 y luego seleccionando Salud>Comentarios sobre el producto.

IA con recursos de Power Automate

Trabajar con variables en acciones de secuencias de comandos

Para declarar variables en acciones de scripting y devolver resultados en Power Automate, use los siguientes comandos:

  • Para declarar nuevas variables en scripts de PowerShell, use la notación $. Para devolver valores desde acciones Ejecutar script de PowerShell a Power Automate, utilice el comando Salida de escritura.

    $variableName = "variableValue"
    Write-Output $variableName
    
  • Los scripts de Python no requieren ninguna notación especial para declarar nuevas variables. Para devolver valores de las acciones Ejecutar script de Python, use la función imprimir.

    variableName = "variableValue"
    print variableName
    
  • VBScript no requiere ninguna notación especial para declarar nuevas variables. Utilice la función WScript.Echo para devolver valores desde acciones Ejecutar VBScript a Power Automate.

    variableName = "variableValue"
    WScript.Echo variableName
    
  • En los scripts de JavaScript, use la notación var para declarar nuevas variables y la función WScript.Echo para devolver valores de acciones Ejecutar JavaScript.

    var variableName = "variableValue";
    WScript.Echo(variableName);
    
  • Para secuencias de comandos .NET, utilice la ventana Parámetros de secuencia de comandos, a la que se accede a través de la tarjeta de configuración de la acción Ejecutar secuencia de comandos .NET. Puede establecer el tipo de la variable respectiva:

Captura de pantalla de la ventana Parámetros del script en la acción Ejecutar script .NET, configurando el tipo de variable

Además, puede configurar si es una entrada para el script .NET (Opción In en el menú desplegable Dirección), una salida del script (opción Out en el menú desplegable Dirección) o ambas (opción In-Out en el menú desplegable Dirección).

Captura de pantalla de la ventana Parámetros del script en la acción Ejecutar script .NET, configurando la dirección

Para usar variables Power Automate en acciones de scripting, utilice la notación de porcentaje (%) y maneje las variables de la misma manera que los valores codificados.

Captura de pantalla de un script de Python que contiene la notación de porcentaje.

Ejecutar comando de DOS

Ejecuta un comando de DOS o una aplicación de consola en modo invisible y recupera su resultado tras la finalización.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
DOS command or application No Archivo El nombre del comando de DOS o de una aplicación de consola, con argumentos si corresponde
Working folder Carpeta La ruta de acceso completa de la carpeta desde la que se puede trabajar, si corresponde
Error tras tiempo de espera Valor booleano Especifique si la aplicación o el comando de DOS se ejecutará de forma indefinida o generará un error tras un período de tiempo determinado
Temporización No Valor numérico 10 Número máximo de segundos que hay que esperar a que se complete el script (-1 para indefinidamente)
Change code page N/A Valor booleano False Especifica si se debe cambiar la página de códigos actual de la sesión
Encoding No ASMO-708: árabe (ASMO 708), big5: chino tradicional (Big5), cp1025: IBM EBCDIC (cirílico serbio-búlgaro), cp866: cirílico (DOS), cp875: IBM EBCDIC (griego moderno), csISO2022JP: japonés (JIS-Allow 1 byte Kana), DOS-720: árabe (DOS), DOS-862: hebreo (DOS), EUC-CN: chino simplificado (EUC), EUC-JP: japonés (JIS 0208-1990 y 0212-1990), euc-jp: japonés (EUC), euc-kr: coreano (EUC), GB18030: chino simplificado (GB18030), gb2312: chino simplificado (GB2312), hz-gb-2312: chino simplificado (HZ), IBM-tailandés: IBM EBCDIC (tailandés), IBM00858: OEM multilingüe Latín I, IBM00924: IBM Latin-1, IBM01047: IBM Latin-1, IBM01140: IBM EBCDIC (EE.UU.-Canadá-Euro), IBM01141: IBM EBCDIC (Alemania-Euro), IBM01142: IBM EBCDIC (Dinamarca-Noruega-Euro), IBM01143: IBM EBCDIC (Finlandia -Suecia-Euro), IBM01144: IBM EBCDIC (Italia-Euro), IBM01145: IBM EBCDIC (España-Euro), IBM01146: IBM EBCDIC (Reino Unido-Euro), IBM01147: IBM EBCDIC (Francia-Euro), IBM01148: IBM EBCDIC (Internacional-Euro), IBM01149: IBM EBCDIC (islandés-Euro), IBM037: IBM EBCDIC (EE.UU.-Canadá), IBM1026: IBM EBCDIC (turco Latin-5), IBM273: IBM EBCDIC (Alemania), IBM277: IBM EBCDIC (Dinamarca-Noruega), IBM278: IBM EBCDIC (Finlandia-Suecia), IBM280: IBM EBCDIC (Italia), IBM284: IBM EBCDIC (España), IBM285: IBM EBCDIC (Reino Unido), IBM290: IBM EBCDIC (Katakana japonés), IBM297: IBM EBCDIC (Francia), IBM420: IBM EBCDIC (árabe), IBM423: IBM EBCDIC (griego), IBM424: IBM EBCDIC (hebreo), IBM437: OEM Estados Unidos, IBM500: IBM EBCDIC (Internacional), ibm737: griego (DOS), ibm775: Báltico (DOS), ibm850: Europa occidental (DOS), ibm852: Europa central (DOS), IBM855: OEM cirílico, ibm857: turco (DOS), IBM860: portugués (DOS), ibm861: islandés (DOS), IBM863: francés canadiense (DOS), IBM864: árabe (864), IBM865: nórdico (DOS), ibm869: griego, moderno (DOS), IBM870: IBM EBCDIC (Multilingüe Latin-2), IBM871: IBM EBCDIC (islandés), IBM880: IBM EBCDIC (cirílico ruso), IBM905: IBM EBCDIC (turco), iso-2022-jp: japonés (JIS), iso-2022-jp: japonés (JIS-Allow 1 byte Kana - SO/SI), iso-2022-kr: coreano (ISO), iso-8859-1: Europa occidental (ISO), iso-8859-13: estonio (ISO), iso-8859-15: Latin 9 (ISO), iso-8859-2: Europa central (ISO), iso-8859-3: Latin 3 (ISO), iso-8859-4: Báltico (ISO), iso-8859-5: Cirílico (ISO), iso-8859-6: árabe (ISO), iso-8859-7: griego (ISO), iso-8859-8: hebreo (ISO-Visual), iso-8859-8-i: hebreo (ISO-Logical), iso-8859-9: turco (ISO), Johab: coreano (Johab), koi8-r: cirílico (KOI8-R), koi8-u: cirílico (KOI8-U), ks_c_5601-1987: coreano, macintosh: Europa occidental (Mac), shift_jis: japonés (Shift-JIS), us-ascii: US-ASCII, utf-16: Unicode, utf-16BE: Unicode (Big-Endian), utf-32: Unicode (UTF-32), utf-32BE: Unicode (UTF-32 Big-Endian), utf-7: Unicode (UTF-7), utf-8: Unicode (UTF-8), windows-1250: Europa central (Windows), windows-1251: cirílico (Windows), Windows-1252: Europa occidental (Windows), windows-1253: griego (Windows), windows-1254: turco (Windows), windows-1255: hebreo (Windows), windows-1256: árabe (Windows), windows-1257: Báltico (Windows), windows-1258: Vietnamita (Windows), windows-874: tailandés (Windows), x-Chinese-CNS: chino tradicional (CNS), x-Chinese-Eten: chino tradicional (Eten), x-cp20001: TCA Taiwán, x-cp20003: IBM5550 Taiwán, x-cp20004: TeleText Taiwán, x-cp20005: Wang Taiwán, x-cp20261: T.61, x-cp20269: ISO-6937, x-cp20936: chino simplificado (GB2312-80), x-cp20949: coreano Wansung, x-cp50227: chino simplificado (ISO-2022), x-EBCDIC-KoreanExtended: IBM EBCDIC (coreano extendido), x-Europa: Europa, x-IA5: Europa occidental (IA5), x-IA5-German: alemán (IA5), x-IA5-Norwegian: noruego (IA5), x-IA5-Swedish: sueco (IA5), x-iscii-as: ISCII asamés, x-iscii-be: ISCII bengalí, x-iscii-de: ISCII devanagari, x-iscii-gu: ISCII gujarati, x-iscii-ka: ISCII kannada, x-iscii-ma: ISCII malayalam, x-iscii-or: ISCII oriya, x-iscii-pa: ISCII panyabi, x-iscii-ta: ISCII tamil, x-iscii-te: ISCII telugu, x-mac-arabic: árabe (Mac), x-mac-ce: Europa central (Mac), x-mac-chinesesimp: chino simplificado (Mac), x-mac-chinesetrad: chino tradicional (Mac), x-mac-croatian: croata (Mac), x-mac-cyrillic: cirílico (Mac), x-mac-greek: griego (Mac), x-mac-hebrew: hebreo (Mac), x-mac-icelandic: islandés (Mac), x-mac-japanese: japonés (Mac), x-mac-korean: coreano (Mac), x-mac-romanian: rumano (Mac), x-mac-thai: tailandés (Mac), x-mac-turkish: turco (Mac), x-mac-ukrainian: ucraniano (Mac)` utf-8 : Unicode (UTF-8) La codificación que se usará al leer la salida

Variables producidas

Argumento Type Descripción
CommandOutput Valor de texto La salida del texto del comando de DOS o la aplicación
CommandErrorOutput Valor de texto El texto que describe los errores que se han producido (de haberlos) durante la ejecución del comando de DOS o la aplicación
CommandExitCode Valor numérico El comando o código de salida de la aplicación. Este valor es numérico

Excepciones

Excepción Description
No se puede ejecutar el comando o la aplicación de consola Indica un problema al ejecutar el comando especificado o la aplicación de consola
No se pudo ejecutar el script en el tiempo asignado Indica un problema al ejecutar el script proporcionado en el tiempo asignado

Ejecutar VBScript

Ejecuta código VBScript personalizado y recupera su resultado en una variable.

Puede usar esta acción para incluir su propio código VBScript personalizado en el flujo del escritorio, y al mismo tiempo tener la capacidad de usar variables en el mismo para generar contenido VBScript dinámico si es necesario.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
VBScript to run Valor de texto Código VBScript que se ejecutará. Las variables se pueden incluir en el script, ya que se evalúan antes de la ejecución del código VBScript
Error tras tiempo de espera Valor booleano N/A Especifique si el script de VBScript se ejecutará de forma indefinida o generará un error tras un período de tiempo establecido
Temporización No Valor numérico 10 Número máximo de segundos que hay que esperar a que se complete el script (-1 para indefinidamente)

Variables producidas

Argumento Type Description
VBScriptOutput Valor de texto La salida del script
ScriptError Valor de texto Los errores que se pueden producir durante la ejecución del código VBScript

Excepciones

Excepción Description
No se pudo ejecutar el script en el tiempo asignado Indica un problema al ejecutar el script proporcionado en el tiempo asignado

Ejecutar JavaScript

Ejecuta código JavaScript personalizado y recupera su resultado en una variable.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
JavaScript to run Valor de texto Código JavaScript que se ejecutará. Las variables se pueden incluir en el script, ya que se evalúan antes de la ejecución del código JavaScript
Error tras tiempo de espera Valor booleano Especifique si el script de Javascript se ejecutará de forma indefinida o generará un error tras un período de tiempo establecido
Temporización No Valor numérico 10 Número máximo de segundos que hay que esperar a que se complete el script (-1 para indefinidamente)

Variables producidas

Argumento Type Description
JavascriptOutput Valor de texto La salida del script
ScriptError Valor de texto Los errores que se pueden producir durante la ejecución del código JavaScript

Excepciones

Excepción Description
No se pudo ejecutar el script en el tiempo asignado Indica un problema al ejecutar el script proporcionado en el tiempo asignado

Ejecutar script de PowerShell

Ejecuta el script de PowerShell personalizado y recupera su resultado en una variable.

Puede usar esta acción para incluir su propio código PowerShell personalizado en el flujo del escritorio, y al mismo tiempo tener la capacidad de usar variables en el mismo para generar contenido PowerShell dinámico si es necesario.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Descripción
PowerShell code to run Valor de texto Código PowerShell que se ejecutará. Las variables se pueden incluir en el script, ya que se evalúan antes de la ejecución del código de PowerShell
Error tras tiempo de espera Valor booleano Especifique si el script de PowerShell se ejecutará de forma indefinida o generará un error tras un período de tiempo establecido
Temporización No Valor numérico 10 Número máximo de segundos que hay que esperar a que se complete el script (-1 para indefinidamente)

Variables producidas

Argumento Type Description
PowershellOutput Valor de texto La salida del script
ScriptError Valor de texto Los errores que se pueden producir durante la ejecución del código PowerShell

Excepciones

Excepción Descripción
Failed to run PowerShell script Indica un problema para ejecutar el script de PowerShell proporcionado
No se pudo ejecutar el script en el tiempo asignado Indica un problema al ejecutar el script proporcionado en el tiempo asignado

Ejecutar script de Python

Ejecuta el código de script de Python y recupera sus resultados.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Description
Python script to run No Valor de texto El código de script de Python que se ejecutará
Versión de Python No Python 2.7, Python 3.4 Python 2.7 Especifique qué versión de Python se usará al ejecutar el script
Module folder paths Lista de carpetas Las rutas de las carpetas donde se encuentran los módulos de Python externos

Variables producidas

Argumento Type Description
PythonScriptOutput Valor de texto La salida del script
ScriptError Valor de texto Los errores que se pueden producir durante la ejecución del código de script de Python

Excepciones

Excepción Descripción
No se pudo ejecutar el script de Python Indica un problema para ejecutar el script de Python proporcionado
Directorio no encontrado Indica que no se encontró el directorio

Ejecutar script de .NET

Ejecuta el código de script .NET (C#/VB.NET) y recupera sus resultados.

Parámetros de entrada

Argumento Opcionales Acepta Valor predeterminado Description
Lenguaje N/A C#/ VB.NET C# El idioma del script
Importaciones de scripts .NET Valor de texto Las importaciones de scripts .NET que se incluirán en el script
Referencias que se cargarán Carpeta La ruta raíz donde se encuentran las bibliotecas de vínculos dinámicos (archivos .dll) de .NET
Parámetros de script Parámetros de script definidos por el usuario Establecer los valores de los parámetros que se definen en el script
Código .NET para ejecutar No Valor de texto El código .NET que se ejecutará

Variables producidas

Esta acción puede producir variables, dependiendo de la configuración realizada por el usuario al usar la ventana Parámetros de secuencia de comandos.

Nota

En el caso de que la acción esté configurada para producir parámetros de salida (usando la dirección Out al configurarlos), siempre debe asegurarse de que el parámetro dentro del script esté configurado en un valor distinto de nulo. De lo contrario, la ejecución del script generará un error ya que no se ha establecido el parámetro de salida.

Excepciones

Excepción Description
No se pudo ejecutar el script de .NET Indica un problema para ejecutar el script de .NET proporcionado