Introducción al flujo de trabajo de Windows PowerShell

 

Se aplica a: Windows Server 2012, Windows Server 2012 R2

Los profesionales de TI a menudo automatizan la administración de sus entornos de varios equipos ejecutando secuencias de flujos de trabajo y tareas de larga duración que pueden afectar múltiples dispositivos y equipos administrados al mismo tiempo. Los flujos de trabajo de Windows PowerShell permiten que los desarrolladores y profesionales de TI saquen provecho de los beneficios de Windows Workflow Foundation con las funcionalidades de automatización y la facilidad de Windows PowerShell. La funcionalidad de flujo de trabajo de Windows PowerShell se introdujo en Windows Server® 2012 y Windows 8 y forma parte de Windows PowerShell 3.0 y versiones más recientes de Windows PowerShell. El flujo de trabajo Windows PowerShell ayuda a automatizar la distribución, orquestación y realización de tareas de varios dispositivos, y permite así que los usuarios y administradores se centren en tareas de un nivel más alto.

Windows PowerShell, introducido por primera vez con la versión de Windows Vista y Windows Server 2008, es un lenguaje de scripting, shell de línea de comandos y motor de automatización distribuida construido en Microsoft® .NET Framework. Está especialmente diseñado para automatizar la administración de Windows.

El flujo de trabajo Windows PowerShell es una característica clave de Windows PowerShell 3.0 y Windows PowerShell 4.0. Para obtener más información sobre Windows PowerShell, consulte Novedades de Windows PowerShell.

Este tema contiene las siguientes secciones.

  • Introducción al flujo de trabajo de Windows PowerShell

  • En qué se diferencian el flujo de trabajo de Windows PowerShell y los scripts de Windows PowerShell

  • Creación e importación de flujos de trabajo mediante el uso del Diseñador de flujo de trabajo de Visual Studio

Introducción al flujo de trabajo de Windows PowerShell

Un flujo de trabajo es una secuencia de pasos conectados y programados que realizan tareas de larga duración o requieren de la coordinación de pasos múltiples a través de varios dispositivos o nodos administrados. El flujo de trabajo Windows PowerShell permite a los profesionales de TI y desarrolladores crear secuencias de actividades administración de múltiples dispositivos o tareas únicas dentro de un flujo de trabajo, como flujos de trabajo. Por diseño, los flujos de trabajo pueden ser de larga ejecución, repetibles, frecuentes, se pueden paralelizar, interrumpibles, detenibles y reiniciables. Se pueden suspender y reanudar; también pueden continuar tras una interrupción inesperada, por ejemplo, un reinicio de un equipo o una interrupción de la red.

Los flujos de trabajo Windows PowerShell pueden crearse o definirse mediante sintaxis Windows PowerShell o archivos XAML. Para obtener más información sobre la creación de un flujo de trabajo basado en script Windows PowerShell, consulte Escribir un flujo de trabajo de script. Para obtener más información acerca de los flujos de trabajo basados en XAML, consulte Creación e importación de flujos de trabajo mediante el uso del Diseñador de flujo de trabajo de Visual Studio en este tema.

Mediante el uso de la funcionalidad RunAs de Windows PowerShell, las configuraciones de sesión personalizadas permitían a los profesionales de TI delegados o subordinados ejecutar flujos de trabajo o actividades dentro de un flujo de trabajo.

Actividades

Una actividad es una tarea específica que desea que realice un flujo de trabajo. Del mismo modo que un script se compone de uno o varios comandos, un flujo de trabajo se compone de una o varias actividades que se llevan a cabo en una secuencia. Un script también puede usarse como un único comando en otro script y un flujo de trabajo se pueden usar como una actividad dentro de otro flujo de trabajo.

Beneficios de un flujo de trabajo de Windows PowerShell

En la siguiente lista se describen muchos de los beneficios del flujo de trabajo de Windows PowerShell.

  • Usar la sintaxis de scripting Windows PowerShell

    Los profesionales de TI pueden usar habilidades de scripting Windows PowerShell para crear flujos de trabajo basados en script mediante el lenguaje Windows PowerShell extensible. Los flujos de trabajo basados en script Windows PowerShell son fáciles de escribir y se pueden compartir fácilmente pegándolos en un correo electrónico o publicándolos en páginas web.

  • Administración de múltiples dispositivos

    Puede aplicar simultáneamente tareas de flujo de trabajo a cientos de nodos administrados. El flujo de trabajo de Windows PowerShell agrega parámetros comunes a los flujos de trabajo automáticamente, como PSComputerName, para habilitar escenarios de administración de varios dispositivos. Para obtener más información acerca de los parámetros que están reservados para los flujos de trabajo, consulte "Palabras reservadas en flujos de trabajo" en Temas de referencia de creación de flujos de trabajo.

  • Ejecución de una tarea única para administrar procesos complejos de un extremo a otro

    Puede combinar scripts o comandos relacionados que actúan en un escenario completo en un único flujo de trabajo. El estado y el progreso de las actividades de un flujo de trabajo están visibles en todo momento.

  • Recuperación de errores automatizada

    Los flujos de trabajo sobreviven tanto a las interrupciones planeadas como a las no planeadas, tales como reinicios de equipo. Puede suspender el funcionamiento del flujo de trabajo y reiniciarlo o reanudarlo desde el punto en el que se suspendió. Puede crear puntos de control como parte del flujo de trabajo, por lo que se puede reanudar el flujo de trabajo desde la última tarea conservada (o punto de comprobación), en lugar de reiniciar el flujo de trabajo desde el principio.

  • Reintentos de conexión y actividad

    Mediante el uso de parámetros comunes de flujo de trabajo, los usuarios del flujo de trabajo pueden reintentar las conexiones con los nodos administrados si se producen errores de conexión de red. Los autores del flujo de trabajo también pueden especificar las actividades que se deben ejecutar de nuevo si no se puede completar la actividad en uno o varios nodos administrados (por ejemplo, si un equipo de destino estaba sin conexión mientras se ejecutaba la actividad).

  • Conectar y desconectar

    Los usuarios pueden conectarse y desconectarse del equipo que ejecuta el flujo de trabajo, pero el flujo de trabajo sigue ejecutándose. Por ejemplo, si ejecuta el flujo de trabajo y administra este en dos equipos diferentes, puede cerrar la sesión o reiniciar el equipo desde el que va a administrar el flujo de trabajo y supervisar las operaciones de flujo de trabajo desde otro equipo (por ejemplo, un equipo doméstico) sin interrumpir el flujo de trabajo.

  • Programación de tareas

    Las tareas de flujo de trabajo pueden programarse e iniciarse cuando se cumplen determinadas condiciones, como con cualquier otro script o cmdlet de Windows PowerShell.

En qué se diferencian el flujo de trabajo de Windows PowerShell y los scripts de Windows PowerShell

En un script, el script completo se ejecuta en el mismo espacio de ejecución, el entorno operativo que define qué comandos, variables y otros elementos que están disponibles. En un flujo de trabajo, cada actividad del flujo de trabajo puede ejecutarse en un espacio de ejecución diferente. Las variables que se crean en el nivel superior de todo el flujo de trabajo están disponibles en todo el flujo de trabajo; si se crean en el nivel de script o de comando, están disponibles para el comando o el script, pero no están disponibles para el flujo de trabajo completo.

En general, debe considerar el uso de un flujo de trabajo en lugar de un script o cmdlet cuando deba cumplir alguno de los siguientes requisitos.

  • Deberá realizar una tarea de ejecución prolongada que combine varios pasos en una secuencia.

  • Deberá realizar una tarea que se ejecute en varios dispositivos.

  • Deberá realizar una tarea que requiera puntos de control o persistencia.

  • Deberá realizar una tarea de ejecución prolongada asincrónica, con capacidad de reinicio, paralelizable o interrumpible.

  • Deberá ejecutar una tarea en entornos a gran escala o de alta disponibilidad, que es posible que requieran posiblemente la limitación y agrupación de conexiones.

Creación e importación de flujos de trabajo mediante el uso del Diseñador de flujo de trabajo de Visual Studio

Además de crear flujos de trabajo mediante el uso de scripts de Windows PowerShell, también puede crear flujos de trabajo usando el Diseñador de flujo de trabajo de Visual Studio. Los flujos de trabajo que crea en el Diseñador de flujo de trabajo de Visual Studio tienen una extensión de nombre de archivo XAML. Puede invocar e importar flujos de trabajo en el flujo de trabajo de Windows PowerShell que se crean en el Diseñador de flujo de trabajo y exponer cmdlets Windows PowerShell como actividades dentro del Diseñador de flujo de trabajo.

Para obtener más información sobre la creación de flujos de trabajo en el Diseñador de flujo de trabajo de Visual Studio, consulte Uso del Diseñador de flujo de trabajo en la documentación de Visual Studio en MSDN.

Actividades de Flujo de trabajo de Windows PowerShell en el Diseñador de flujo de trabajo de Visual Studio

Windows PowerShell incluye las actividades integradas de la mayoría de cmdlets Windows PowerShell. Estas actividades se empaquetan en ensamblados con nombres que coinciden con el nombre del módulo de Windows PowerShell que contiene los cmdlets. A continuación encontrará la lista de ensamblados de actividades de Windows PowerShell que se instalan en la caché global de ensamblados (GAC).

  • Microsoft.PowerShell.Activities

  • Microsoft.PowerShell.Core.Activities

  • Microsoft.PowerShell.Diagnostics.Activities

  • Microsoft.PowerShell.Management.Activities

  • Microsoft.PowerShell.Security.Activities

  • Microsoft.PowerShell.Utility.Activities

  • Microsoft.WSMan.Management.Activities

Para obtener más información sobre cómo agregar una actividad al cuadro de herramientas desde un ensamblado, consulte Agregar actividades al cuadro de herramientas.

Vea también

Configurar el entorno de su flujo de trabajo
Ejecutar un flujo de trabajo de Windows PowerShell
Escribir un flujo de trabajo de script
Novedades en Windows Workflow Foundation 4.0
about_Jobs
about_Workflow_Common_Parameters
about_Workflows