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

Importante

Esta versión de Service Management Automation (SMA) ha alcanzado el final del soporte técnico. Se recomienda actualizar a SMA 2022.

Puede usar runbooks de Service Management Automation (SMA) para automatizar las operaciones rutinarias en el entorno de Microsoft Azure Pack para Windows Server. Existen 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 del flujo de trabajo de PowerShell

Los runbooks del flujo de trabajo de PowerShell están basados 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 del flujo de trabajo de PowerShell pueden incluirse únicamente como runbooks secundarios mediante el cmdlet Start-SMARunbook, que crea un trabajo.

Cómo SMA ejecuta runbooks

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

Si se rellena la propiedad RunbookWorker del runbook, ese servidor Worker dará servicio al 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 Worker crea un trabajo que se ejecuta en el servidor Worker que atienda la solicitud y accede de forma remota a los equipos u otros recursos con los que trabaja. Para ello, los cmdlets del runbook deben poder tener acceso remoto a estos recursos. El runbook también puede incluir un comando InlineScript para usar el acceso remoto a PowerShell para ejecutar comandos de forma local 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, se puede reanudar en un servidor Worker diferente. Por este motivo, debe tener cuidado con el uso de recursos locales que no son 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 las acciones necesarias, debe tener permisos de acceso a los recursos con los que trabaja. En SMA, los runbooks siempre se ejecutan en el contexto de la cuenta de servicio del servicio de runbook de Automation. Si esta cuenta no tiene los permisos necesarios, puede usar un recurso de credenciales o un recurso global de conexión en el runbook para ejecutar los comandos necesarios mediante credenciales con los permisos necesarios. Estas credenciales se pueden usar con un cmdlet que acepte credenciales mediante un parámetro o con InlineScript para ejecutar un bloque de código con credenciales alternativas.

Pasos siguientes