Creación de runbooks 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.

Los runbooks de Service Management Automation y Microsoft Azure Automation son flujos de trabajo de Windows PowerShell o scripts de PowerShell. Proporcionan la capacidad de automatizar los procesos administrativos para administrar e implementar servidores de la nube o cualquier otra función que puede realizar un script de Windows PowerShell.

No hay ninguna diferencia en los runbooks entre los dos sistemas y el mismo runbook se puede ejecutar en cualquiera de los dos con una funcionalidad idéntica. Cuando el término Automation se usa en este artículo, hace referencia a Service Management Automation y a Microsoft Azure Automation.

Entre los servicios adicionales que ofrece la automatización para trabajar con los flujos de trabajo de Windows PowerShell se encuentran los siguientes:

  • Almacenamiento centralizado y administración de runbooks.

  • Arquitectura escalable para programar y ejecutar runbooks.

  • Recursos globales que se administran centralmente y están disponibles para todos los Runbooks.

  • Interfaz de usuario para crear y probar Runbooks.

  • Conjunto de cmdlets para administrar e iniciar Runbooks.

Cree o importe un runbook

Para agregar un runbook a Service Management Automation, puede crearlo en el portal de administración o importarlo desde un archivo.

Creación de un runbook en el Portal de administración

  1. En el Portal de administración, seleccione Nuevo, App Services, Automation, Runbook, Creación rápida.

  2. Escriba la información necesaria y seleccione Crear. El nombre del runbook debe empezar por una letra y puede tener letras, números, caracteres de subrayado y guiones.

  3. Si desea editar el runbook ahora, seleccione Editar runbook. En caso contrario, seleccione Aceptar.

  4. El runbook nuevo aparecerá en la pestaña Runbooks.

Importar un runbook desde un archivo

  1. En el Portal de administración, seleccione Automation y, después, seleccione una cuenta de Automation.

  2. Seleccione Import (Importar).

  3. Seleccione Buscar archivo y busque el archivo de script que se va a importar.

  4. Si desea editar el runbook ahora, seleccione Editar runbook. En caso contrario, seleccione Aceptar.

  5. El nuevo runbook aparecerá en la pestaña Runbooks de la cuenta de Automation.

Importación de un runbook de un archivo de script con Windows PowerShell

Puede usar el cmdlet Import-SmaRunbook para crear un nuevo runbook desde un archivo de script que contiene un flujo de trabajo.

Los comandos de ejemplo siguientes muestran cómo importar un archivo de script en un runbook existente y, después, publicarlo.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Import-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Path $scriptPath
Publish-SMARunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Editar un Runbook

Cada runbook de Service Management Automation tiene dos versiones: Draft y Published. Edite la versión borrador del flujo de trabajo y, a continuación, publíquela para que se pueda ejecutar. No se puede editar la versión publicada.

Editar un runbook con el Portal de administración

El Portal de administración incluye un editor para ver y editar runbooks. Además de proporcionar funcionalidades básicas de edición de texto, el editor proporciona la capacidad de insertar código automáticamente para runbooks, recursos globales y actividades.

  1. En el Portal de administración, seleccione Automation.

  2. Seleccione la pestaña Runbooks.

  3. Seleccione el nombre del runbook que desea editar.

  4. Seleccione la pestaña Autor.

  5. Seleccione Borrador en la parte superior de la pantalla o el botón Editar en la parte inferior de la pantalla.

  6. Realice las modificaciones necesarias.

  7. Seleccione Guardar cuando se completen las modificaciones.

  8. Seleccione Publicar si desea que se publique la versión de borrador más reciente del runbook.

Seleccione la pestaña necesaria para los pasos para insertar código para runbooks, recursos globales y actividades:

Siga estos pasos para insertar código en un runbook:

  1. Abra el runbook en el editor del Portal de administración.

  2. En la parte inferior de la pantalla, seleccione Insertar y, a continuación, seleccione Runbook.

  3. Seleccione el runbook que se va a insertar en la columna central y seleccione la flecha derecha.

  4. Si la runbook tiene parámetros, se mostrarán como referencia.

  5. Seleccione el botón Comprobar.

  6. El código para ejecutar el runbook seleccionado se insertará en el runbook actual.

  7. Si el runbook requiere parámetros, proporcione un valor adecuado en lugar del tipo de datos entre llaves <>.

Edición de un runbook de Automation con PowerShell

Para editar un runbook con Windows PowerShell, edite el flujo de trabajo con el editor que elija y guárdelo en un archivo. ps1. Puede usar el cmdlet Get-SMARunbookDefinition para recuperar el contenido del runbook y, después, el cmdlet Edit-SMARunbook para reemplazar el flujo de trabajo de borrador existente por el modificado.

Para recuperar el contenido de un runbook con Windows PowerShell

En los siguientes comandos de ejemplo, se muestra cómo se recupera el script para un runbook y se guarda en un archivo de script. En este ejemplo, se recupera la versión de borrador. También es posible recuperar la versión publicada del runbook, aunque esta no se puede cambiar.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

$runbookDefinition = Get-SMARunbookDefinition -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Type Draft
$runbookContent = $runbookDefinition.Content

Out-File -InputObject $runbookContent -FilePath $scriptPath

Para cambiar el contenido de un runbook con Windows PowerShell

Los comandos de ejemplo siguientes muestran cómo reemplazar el contenido existente de un runbook por el contenido de un archivo de script que contiene un flujo de trabajo.

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Edit-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath -Overwrite
Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath

Editar un runbook de Automation con PowerShell ISE

El Entorno de scripting integrado de Windows PowerShell (ISE) es una aplicación que permite ejecutar comandos y escribir, probar y depurar scripts. El complemento SMA PowerShell ISE permite usar esta herramienta para escribir y probar runbooks de Automation.

  1. Abra Windows PowerShell ISE.

  2. Si el complemento SMA ISE no se muestra en el lado derecho del ISE, abra el menú Complementos y habilite el complemento SMA ISE.

  3. Inicie sesión en SMA en la pestaña Configuración.

  4. Seleccione la pestaña Runbook . Debería ver una lista de runbooks de SMA.

  5. Seleccione el runbook que desea editar y seleccione Descargar. Esto descarga una copia local del runbook desde SMA.

  6. Seleccione Open (Abrir). Esto crea una nueva pestaña con el runbook.

  7. Realice los cambios necesarios en el runbook.

  8. Seleccione Cargar borrador para enviar el runbook a SMA. Esto sobrescribirá la versión de borrador existente del runbook.

  9. Seleccione Publicar borrador si desea publicar la versión más reciente del borrador del runbook.

Publicar su runbook

Después de crear el runbook, debe publicarlo para que el trabajo de runbook pueda ejecutarlo. Cada runbook de Service Management Automation tiene una versión de borrador y otra publicada. Solo es posible ejecutar la versión publicada y solo es posible editar la versión de borrador. Los cambios realizados en la versión de borrador no afectan la versión publicada. Cuando esté listo para que la versión borrador esté disponible, la publica, que sobrescribe la versión publicada con la versión borrador.

Publicar un runbook mediante el Portal de administración

  1. Seleccione el área de trabajo Automatización.

  2. En la parte superior de la pantalla, seleccione Runbooks.

  3. Busque el runbook que quiere editar y haga clic en su nombre.

  4. En la parte superior de la pantalla, seleccione Autor.

  5. Seleccione Borrador.

  6. En la parte inferior de la pantalla, seleccione Publicar.

  7. Seleccione en el mensaje de verificación.

Publicación de un runbook mediante PowerShell

Puede utilizar Publish-SmaRunbook para publicar un runbook con Windows PowerShell. Los siguientes comandos de ejemplo muestran cómo publicar un runbook.

$webServer = 'https://MyServer'
$port = 9090
$runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
$runbookName = 'Test-Runbook'

Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Publicación de un runbook mediante PowerShell ISE

El Entorno de scripting integrado de Windows PowerShell (ISE) es una aplicación que permite ejecutar comandos y escribir, probar y depurar scripts. El complemento SMA PowerShell ISE permite usar esta herramienta para escribir y probar runbooks de Automation.

  1. Abra Windows PowerShell ISE.

  2. Si el complemento SMA ISE no se muestra en el lado derecho del ISE, abra el menú Complementos y habilite el complemento SMA ISE.

  3. Inicie sesión en SMA en la pestaña Configuración.

  4. Seleccione la pestaña Runbook . Debería ver una lista de runbooks de SMA.

  5. Seleccione el runbook y seleccione Publicar borrador para publicar la versión más reciente del borrador del runbook.

Probar el runbook

Puede probar la versión preliminar de un runbook en el Service Management Automation mientras deja la versión publicada del runbook sin cambios. Esto permite comprobar que el runbook se ejecute correctamente antes de reemplazar la versión publicada.

Cuando se prueba un runbook, se ejecuta el runbook de borrador y se completan todas las acciones que realiza. No se crea ningún historial de trabajos, pero se muestran los flujos Output y Warning and Error en el panel de salida de la prueba. Los mensajes al Verbose Stream se muestran en el panel de salida solo si la $VerbosePreference variable está establecida en Continuo.

Cuando se prueba un runbook, ejecuta el flujo de trabajo con normalidad y realiza todas las acciones con los recursos del entorno. Por este motivo, solo debe probar runbooks en recursos no sean de producción.

Probar un runbook en Service Management Automation

Para probar un runbook, abra la versión de borrador del runbook en el Portal de administración. Seleccione el botón Probar en la parte inferior de la pantalla para iniciar la prueba.

Puede detener o suspender el runbook mientras se está probando con los botones situados debajo del panel de salida. Cuando se suspende el runbook, este completa la actividad que está realizando en ese momento antes de suspenderse. Una vez suspendido, puede detener o reiniciar el runbook.

Probar un runbook mediante PowerShell ISE

El complemento PowerShell ISE proporciona cmdlets que emulan las actividades estándar, como Get-SMACredential y Set-SMAVariable, para que pueda probar el runbook en el equipo local como haría con cualquier otro script.

Los recursos globales y sus valores se descargan del grupo de automatización para usarlos en las pruebas locales. Puede inspeccionar o cambiar estos valores en la pestaña Activos . Los valores cifrados se muestran en naranja y sus valores no se descargan. Si desea usar estos recursos en pruebas locales, debe establecer su valor localmente.

Para probar el runbook en SMA, seleccione Borrador de prueba en SMA. Se abrirá una ventana nueva. Seleccione Iniciar nuevo trabajo para iniciar la prueba. Los resultados se mostrarán en la ventana.

Ejemplos de runbooks de Automation

Los siguientes runbooks se suministran con Service Management Automation como runbooks de ejemplo para mostrar técnicas y procedimientos recomendados. Están disponibles para su uso en la extensión Automation de Microsoft Azure Pack para Windows Server.

Nombre de Runbook Descripción
Sample-Deleting-VMCloud-Subscription Muestra un escenario útil para la activación de un Runbook cuando un usuario elimina una suscripción a Nubes de VM.
Sample-Managing-Azure Muestra cómo conectarse a una suscripción de Microsoft Azure y realizar operaciones básicas mediante el módulo Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Muestra la capacidad de Service Management Automation para conectarse a Configuration Manager.
Sample-Managing-DataProtectionManager Muestra cómo conectarse a un servidor de Data Protection Manager (DPM) y ver información acerca de los discos que se encuentra en el servidor DPM.
Sample-Managing-MySQLServers Muestra cómo recuperar un token de seguridad que se usará para recuperar una lista de servidores host.
Sample-Managing-OperationsManager Muestra la capacidad de Service Management Automation para conectarse a System Center Operations Manager.
Sample-Managing-Orchestrator Muestra cómo conectarse a System Center Orchestrator e iniciar un runbook de Orchestrator para usar la infraestructura existente.
Sample-Managing-Plans Muestra cómo crear un nuevo plan y agregar el servicio SQL Server con una cuota definida para el nuevo plan.
Sample-Managing-ServiceBusClouds Muestra cómo conectarse a un servidor de Nubes de Service Bus y ver información acerca de los espacios de nombres creados.
Sample-Managing-SQLServers Muestra cómo crear un nuevo grupo de servidores y agregar un servidor host SQL Server.
Sample-Managing-UserAccounts Muestra cómo crear un usuario en Microsoft Azure Pack para Windows Server, que se creará en Microsoft Azure Pack y aparecerá en el portal de administración para la extensión Usuarios de administradores. Sin embargo, este usuario también debe integrarse en el proveedor de autenticación (por ejemplo, AuthSite) para acceder al portal de administración de inquilinos, que no se incluye en este ejemplo.
Sample-Managing-VirtualMachineManager Muestra cómo conectarse a un servidor Virtual Machine Manager (VMM) y ver información sobre la licencia del servidor VMM.
Sample-Managing-VMClouds Muestra cómo tener acceso a información acerca de la conexión de base de datos del servidor de Service Provider Foundation e información sobre los objetos del servidor VMM administrados por Service Provider Foundation.
Sample-Managing-WebSiteCloud Muestra cómo conectarse a un servidor controlador de Nubes de sitio web y ver la información sobre los servidores implementados de Nubes de sitio web.
Sample-Modify-VMCloud-Subscription Muestra un escenario útil para activar un Runbook cuando el inquilino o el administrador suspenden o activan una suscripción a Nubes de VM.
Sample-Using-Activities Muestra la capacidad de Service Management Automation para usar actividades
Sample-Using-Checkpoints Muestra la capacidad de usar puntos de control en Service Management Automation.
Sample-Using-Connections Muestra la capacidad de Service Management Automation de usar conexiones para conectarse a sistemas remotos.
Sample-Using-Credentials Muestra la capacidad de Service Management Automation de usar credenciales y muestra el usuario con el que se ejecuta el runbook de Service Management Automation. A continuación, se conecta al servidor 'ServerName' y envía al usuario especificado por 'SampleCredential' que tiene acceso al servidor.
Sample-Using-Modules Muestra los módulos de importación en los Runbooks y envía el número de módulos que ya se han importado en el servidor 'ServerName'. A continuación, importa el módulo especificado por 'ModulePath' y envía el nuevo recuento de módulos y la información correspondiente al módulo recién importado.
Sample-Using-RunbookParameters Muestra cómo usar los parámetros de entrada para Runbooks y también especifica si los parámetros son obligatorios, proporciona los valores de parámetro predeterminados y usa los valores de parámetros más adelante en el flujo de trabajo.
Sample-Using-Runbooks Muestra cómo llamar a un Runbook desde otro Runbook.
Sample-Using-SuspendWorkflow Muestra cómo forzar un Runbook para que se suspenda. Esto podría ser útil si se requiere un paso manual antes de que un runbook continúe, como recibir la aprobación de cierre de sesión de una persona específica. Una vez finalizado el paso manual, el Runbook suspendido se reanudará manualmente para continuar el Runbook.
Sample-Using-Variables Muestra la capacidad de Service Management Automation para usar variables.
Sample-Using-VMCloud-Automation Muestra un escenario útil para activar un Runbook en el inicio de un evento de Service Provider Foundation.

Pasos siguientes