Automatizar las operaciones de Windows Azure Pack con Service Management AutomationAutomate Windows Azure Pack operations with Service Management Automation

Se aplica a: System Center 2016 - Service Management AutomationApplies To: System Center 2016 - Service Management Automation

Puede usar runbooks de Service Management Automation (SMA) para automatizar operaciones rutinarias en Windows Azure Pack para el entorno de Windows Server.You can use Service Management Automation (SMA) runbooks to automate routine operations in your Windows Azure Pack for Window Server environment. Hay dos tipos distintos de runbooks de SMA:There are two distinct types of SMA runbooks:

TipoType DescripciónDescription
Flujo de trabajo de PowerShellPowerShell Workflow Runbook de texto en función de flujo de trabajo de Windows PowerShell.Text runbook based on Windows PowerShell Workflow.
PowerShellPowerShell Runbook de texto en función de script de Windows PowerShell.Text runbook based on Windows PowerShell script.

Runbooks de flujo de trabajo de PowerShellPowerShell workflow runbooks

Runbooks de flujo de trabajo de PowerShell se basan en el flujo de trabajo de Windows PowerShell.PowerShell Workflow runbooks are based on Windows PowerShell Workflow. Modificar directamente el código del runbook mediante el editor en el Portal de administración.You directly edit the code of the runbook using the editor in the Management Portal. También puede usar cualquier editor de texto sin conexión y importar el runbook en SMA.You can also use any offline text editor and import the runbook into SMA.

VentajasAdvantages

  • Implementar toda la lógica compleja con código de flujo de trabajo de PowerShell.Implement all complex logic with PowerShell Workflow code.
  • Use puntos de comprobación reanudar runbook en caso de error.Use checkpoints to resume runbook in case of error.
  • Use procesamiento en paralelo para realizar varias acciones en paralelo.Use parallel processing to perform multiple actions in parallel.
  • Puede incluir otros runbooks de flujo de trabajo de PowerShell como runbooks secundarios para crear flujos de trabajo de nivel alto.Can include other PowerShell Workflow runbooks as child runbooks to create high level workflows.

LimitacionesLimitations

  • Autor debe estar familiarizado con el flujo de trabajo de PowerShell.Author must be familiar with PowerShell Workflow.
  • Runbook debe tratar la complejidad adicional de flujo de trabajo de PowerShell como objetos deserializados.Runbook must deal with the additional complexity of PowerShell Workflow such as deserialized objects.
  • Runbook tarda más en iniciar de runbooks de PowerShell que porque debe compilarse antes de ejecutar.Runbook takes longer to start than PowerShell runbooks since it needs to be compiled before running.
  • PowerShell runbooks solo pueden incluidos como runbooks secundarios mediante el cmdlet Start-SMARunbook que crea un nuevo trabajo.PowerShell runbooks can only be included as child runbooks by using the Start-SMARunbook cmdlet which creates a new job.

Runbooks de PowerShellPowerShell runbooks

PowerShell runbooks se basan en Windows PowerShell.PowerShell runbooks are based on Windows PowerShell. Modificar directamente el código del runbook mediante el editor en el Portal de administración.You directly edit the code of the runbook using the editor in the Management Portal. También puede usar cualquier editor de texto sin conexión y importar el runbook en SMA.You can also use any offline text editor and import the runbook into SMA.

VentajasAdvantages

  • Implementar toda la lógica compleja con código de PowerShell sin las complejidades adicionales de flujo de trabajo de PowerShell.Implement all complex logic with PowerShell code without the additional complexities of PowerShell Workflow.
  • Runbook se inicia más rápidamente que los runbooks de flujo de trabajo de PowerShell porque no es necesario compilar antes de ejecutar.Runbook starts faster than PowerShell Workflow runbooks since it doesn't need to be compiled before running.

LimitacionesLimitations

  • Debe estar familiarizado con secuencias de comandos de PowerShell.Must be familiar with PowerShell scripting.
  • No se puede usar procesamiento en paralelo para realizar varias acciones en paralelo.Can't use parallel processing to perform multiple actions in parallel.
  • No se puede usar puntos de comprobación reanudar runbook en caso de error.Can't use checkpoints to resume runbook in case of error.
  • Flujo de trabajo de PowerShell runbooks solo pueden incluidos como runbooks secundarios mediante el cmdlet Start-SMARunbook que crea un nuevo trabajo.PowerShell Workflow runbooks can only be included as child runbooks by using the Start-SMARunbook cmdlet which creates a new job.

Cómo SMA ejecuta runbooksHow SMA executes runbooks

Las solicitudes para iniciar un runbook se realiza mediante el servicio de web Service Management Automation mediante el Portal de administración de servicio o la Start-SmaRunbook cmdlet de Windows PowerShell.Requests to start a runbook are performed by the Service Management Automation web service using either the Service Management Portal or the Start-SmaRunbook Windows PowerShell cmdlet. El servicio web escribe esta solicitud en la base de datos de automatización que se recupera mediante uno de los servidores de trabajador de automatización.The web service writes this request to the Automation database where it is retrieved by one of the Automation Worker servers.

Si se rellena la propiedad RunbookWorker del runbook, ese servidor Worker atenderá el trabajo.If the RunbookWorker property of the runbook is populated, then that Worker server will service the job. Si el servidor de trabajo no está disponible, a continuación, el trabajo se producirá un error.If the Worker server is not available, then the job will fail with an error. Si no se rellena la propiedad RunbookWorker del runbook, SMA selecciona aleatoriamente un servidor de trabajador disponible para atender la solicitud.If the RunbookWorker property of the runbook is not populated, then SMA will randomly select an available Worker server to service the request.

El servidor Worker creará 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.The Worker server will create a job that runs on the Worker server that services the request and remotely accesses any computers or other resources that it will work with. Para ello, los cmdlets del runbook deben poder tener acceso remoto a estos recursos.This requires the cmdlets in the runbook to be able to remotely access these resources. Como alternativa, puede incluir el runbook una InlineScript comando con el fin de usar la comunicación remota de PowerShell para ejecutar comandos localmente en un equipo de destino.Alternatively, the runbook can include an InlineScript command in order to use PowerShell Remoting to run commands locally on a target computer. Este concepto se ilustra en el diagrama siguiente.This concept is illustrated in the following diagram.

Diagrama de la ejecución de runbooks

Si un trabajo se suspende o se interrumpe, se puede reanudar en un servidor Worker diferente.If a job is suspended or interrupted, it may be resumed on a different Worker server. Por este motivo, debe tener cuidado cuando utilice recursos locales que no son accesibles para todos los servidores Worker, como un archivo en un equipo local.Because of this, you should be careful about using local resources that are not accessible to all Worker servers such as a file on a local computer. Debe utilizar activos globales como Variables tanto como sea posible para compartir información entre puntos de control.You should leverage Global Assets such as Variables as much as possible for sharing information between checkpoints.

PermisosPermissions

Para que un runbook realice las acciones necesarias, debe tener permisos de acceso a los recursos con los que trabaja.In order for a runbook to perform its required actions, it must have permissions to access the resources that it works with. Runbooks de automatización de la administración de servicio siempre se ejecutan en el contexto de la cuenta de servicio del servicio de Runbook de automatización.Runbooks in Service Management Automation always run in the context of the service account of the Automation Runbook Service. Si esta cuenta no tiene los permisos necesarios, puede usar un credenciales o un conexión recurso global en su runbook para ejecutar los comandos necesarios utilizando credenciales con los permisos necesarios.If this account does not have required permissions, then you can use either a Credentials or a Connection global resource in your runbook to run required commands using credentials with the required permissions. Estas credenciales pueden utilizarse con un cmdlet que acepte credenciales a través de un parámetro o con InlineScript para ejecutar un bloque de código con credenciales alternativas.These credentials can either be used with a cmdlet that accepts credentials through a parameter or with InlineScript to run a block of code using alternate credentials.

Pasos siguientesNext steps