Compartir a través de


Automatización de operaciones de Microsoft Azure Pack con Service Management Automation

Puede usar runbooks de Service Management Automation (SMA) para automatizar las operaciones rutinarias en el entorno de Microsoft Azure Pack para Windows Server. Hay dos tipos distintos de runbooks de SMA:

Tipo Descripción
Flujo de trabajo de PowerShell Runbook de texto basado en el flujo de trabajo de Windows PowerShell.
PowerShell Runbook de texto basado en el script de Windows PowerShell.

Runbooks de flujo de trabajo de PowerShell

Los runbooks de flujo de trabajo de PowerShell se basan en el flujo de trabajo de Windows PowerShell. Puede editar directamente el código del runbook mediante el editor en el Portal de administración. También puede usar cualquier editor de texto sin conexión e importar el runbook en SMA.

Ventajas

  • Implemente toda la lógica compleja con código de flujo de trabajo de PowerShell.
  • Use los puntos de control para reanudar el runbook en caso de error.
  • Use el procesamiento paralelo para realizar varias acciones en paralelo.
  • Incluya otros runbooks de flujo de trabajo de PowerShell como runbooks secundarios para crear flujos de trabajo de alto nivel.

Limitaciones

  • Debe estar familiarizado con el flujo de trabajo de PowerShell.
  • El runbook debe tratar la complejidad adicional del flujo de trabajo de PowerShell, como los objetos deserializados.
  • El runbook tarda más en iniciarse que los runbooks de PowerShell ya que deben compilarse antes de su ejecución.
  • Los runbooks de PowerShell solo se pueden incluir como runbooks secundarios mediante el cmdlet Start-SMARunbook, que crea un nuevo trabajo.

Runbooks de PowerShell

Los runbooks de PowerShell están basados en Windows PowerShell. Puede editar directamente el código del runbook mediante el editor en el Portal de administración. También puede usar cualquier editor de texto sin conexión e importar el runbook en SMA.

Ventajas

  • Implemente toda la lógica compleja con código de PowerShell sin las complejidades adicionales del flujo de trabajo de PowerShell.
  • El runbook se inicia con más rapidez que los runbooks de flujo de trabajo de PowerShell, ya que no es necesario compilarlos antes de la ejecución.

Limitaciones

  • Debe estar familiarizado con el scripting de PowerShell.
  • No se puede usar el procesamiento paralelo para realizar varias acciones en paralelo.
  • No se pueden usar puntos de control para reanudar runbooks cuando se produce un error.
  • Los runbooks de flujo de trabajo de PowerShell solo se pueden incluir como runbooks secundarios mediante el cmdlet Start-SMARunbook, que crea un nuevo trabajo.

Cómo ejecuta SMA runbooks

El servicio web SMA realiza solicitudes para iniciar un runbook mediante el Portal de administración de servicios o el cmdlet Start-SmaRunbook de Windows PowerShell. El servicio web escribe esta solicitud en la base de datos de Automation donde uno de los servidores de Automation Worker recupera.

Si se rellena la propiedad RunbookWorker del runbook, ese servidor de trabajo atenderá el trabajo. Si el servidor de trabajo no está disponible, se produce un error en el trabajo. Si la propiedad RunbookWorker del runbook no se rellena, SMA selecciona aleatoriamente un servidor de trabajo disponible para atender la solicitud.

El servidor de trabajo crea un trabajo que se ejecuta en el servidor de trabajo con el que se atiende la solicitud y accede de forma remota a los equipos u otros recursos con los que funcionará. Esto requiere que los cmdlets del runbook puedan acceder de forma remota a estos recursos. Como alternativa, el runbook puede incluir un comando InlineScript para usar la comunicación remota de PowerShell para ejecutar comandos localmente en un equipo de destino. Este concepto se ilustra en el diagrama siguiente.

Diagrama de ejecución de runbook.

Si un trabajo se suspende o se interrumpe, puede reanudarse en otro servidor de trabajo. Por este motivo, debe tener cuidado de usar recursos locales que no sean accesibles para todos los servidores de trabajo, como un archivo en un equipo local. Debe usar activos globales como variables tanto como sea posible para compartir información entre puntos de control.

Permisos

Para que un runbook realice sus acciones necesarias, debe tener permisos para acceder a los recursos con los que funciona. Los runbooks de SMA siempre se ejecutan en el contexto de la cuenta de servicio del servicio Automation Runbook Service. Si esta cuenta no tiene los permisos necesarios, puede usar credenciales o un recurso global connection en el runbook para ejecutar los comandos necesarios mediante credenciales con los permisos necesarios. Estas credenciales se pueden usar con un cmdlet que acepta credenciales a través de un parámetro o con InlineScript para ejecutar un bloque de código mediante credenciales alternativas.

Pasos siguientes

  • Obtenga más información sobre la creación de runbooks de automatización.
  • Obtenga más información sobre los conceptos de flujo de trabajo de Windows PowerShell.