Compartir a través de


Crear runbooks de Service Management Automation

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 en la nube o cualquier otra función que pueda 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 ellas con una funcionalidad idéntica. Cuando se usa el término Automation en este artículo, hace referencia a Service Management Automation y Microsoft Azure Automation.

Entre los servicios adicionales proporcionados por Automation para trabajar con flujos de trabajo de Windows PowerShell se incluyen 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 en todos los runbooks.

  • Interfaz de usuario para crear y probar runbooks.

  • Conjunto de cmdlets para administrar e iniciar runbooks.

Crear o importar un runbook

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

Crear un runbook en Portal de administración

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

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

  3. Si quieres editar el runbook ahora, selecciona después Editar runbook. De lo contrario, selecciona Aceptar.

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

Importar un runbook desde un archivo

  1. En el Portal de administración, selecciona Automation y luego haz clic en una cuenta de Automation.

  2. Seleccione importar.

  3. Selecciona Buscar archivo y busca el archivo de script que vas a importar.

  4. Si quieres editar el runbook ahora, selecciona Editar runbook. De lo contrario, selecciona Aceptar.

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

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

Puedes usar el cmdlet Import-SmaRunbook para crear un runbook nuevo a partir de un archivo de script que contenga un flujo de trabajo.

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

$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: una de borrador y otra publicada. Edita la versión de borrador del flujo de trabajo y después publícala para que pueda ejecutarse. No se puede editar la versión publicada.

Editar un runbook con Portal de administración

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

  1. En el Portal de administración, selecciona Automatización.

  2. Seleccione la pestaña Runbooks .

  3. Selecciona el nombre del runbook que quieres editar.

  4. Seleccione la pestaña Autor.

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

  6. Realice las modificaciones necesarias.

  7. Selecciona Guardar cuando termines las ediciones.

  8. Selecciona Publicar si quieres que la última versión de borrador del runbook se publique.

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

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

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

  2. En la parte inferior de la pantalla, selecciona Insertar y, seguidamente, selecciona Runbook.

  3. En la columna central, selecciona el runbook que desees insertar y haz clic en la flecha derecha.

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

  5. Seleccione el botón de comprobación.

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

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

Edición de un runbook de Automation con PowerShell

Para editar un runbook con Windows PowerShell, edita el flujo de trabajo usando el editor que desees y guárdalo en un archivo. ps1. Puedes 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 mediante 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 mediante Windows PowerShell

En los siguientes comandos de ejemplo, se muestra cómo reemplazar el contenido existente de un runbook por el de 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

Edición de un runbook de Automation con PowerShell ISE

Entorno de scripting integrado (ISE) de Windows PowerShell 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, abre el menú Complementos y habilita el complemento SMA ISE.

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

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

  5. Seleccione el runbook que quieres editar y selecciona Descargar. Se descargará una copia local del runbook desde SMA.

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

  7. Realiza los cambios necesarios en el runbook.

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

  9. Selecciona Publicar borrador si quieres publicar la última versión de borrador del runbook.

Publicar el runbook

Después de crear el runbook, debes publicarlo para que el trabajo de runbook pueda ejecutarlo. Cada runbook de Service Management Automation tiene un borrador y una versión 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 la versión borrador esté lista para ponerla a disposición de los usuarios, se puede publicar, con lo que se sobrescribe la versión publicada.

Publicar un runbook mediante el Portal de administración

  1. Selecciona el área de trabajo de Automation.

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

  3. Busca el runbook para editar y haz clic en su nombre.

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

  5. Selecciona Borrador.

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

  7. Selecciona en el mensaje de verificación.

Publicación de un runbook mediante PowerShell

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

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

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

Publicar un runbook mediante PowerShell_ISE

Entorno de scripting integrado (ISE) de Windows PowerShell 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, abre el menú Complementos y habilita el complemento SMA ISE.

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

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

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

Probar el runbook

Puedes probar la versión de borrador de un runbook en Service Management Automation, sin modificar la versión publicada del runbook sin modificar. 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 los flujos Salida y Advertencia y error se muestran en el panel de salida de la prueba. Los mensajes en el Flujo detallado solo se muestran en el Panel de salida si la variable $VerbosePreference se ha establecido en Continuar.

Cuando pruebas un runbook, sigue ejecutando el flujo de trabajo con normalidad y realiza las acciones correspondientes en los recursos del entorno. Por este motivo, solo debes probar runbooks en recursos no pertenecientes a entornos de producción.

Probar un runbook en Service Management Automation

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

Puedes detener o suspender el runbook durante la prueba con los botones situados bajo el 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 de PowerShell ISE proporciona cmdlets que emulan las actividades estándar, como Get-SMACredential y Set-SMAVariable, por lo que puedes probar el runbook en el equipo local como lo haría con cualquier otro script.

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

Para probar el runbook en SMA, selecciona Probar borrador en SMA. Se abrirá una ventana nueva. Selecciona Iniciar nuevo trabajo para iniciar la prueba. La salida se muestra en la ventana.

Ejemplos de runbook de Automation

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

Nombre del runbook Descripción
Sample-Deleting-VMCloud-Subscription Muestra un escenario útil para desencadenar un runbook cuando un usuario elimina una suscripción a VM Clouds.
Sample-Managing-Azure Muestra cómo conectarse a una suscripción de Microsoft Azure y realizar operaciones básicas mediante el módulo de 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 sobre los discos que se encuentran en el servidor de 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 al nuevo plan.
Sample-Managing-ServiceBusClouds Muestra cómo conectarse a un servidor en la nube de Service Bus y ver información sobre los espacios de nombres creados.
Sample-Managing-SQLServers Muestra cómo crear un nuevo grupo de servidores y agregar un servidor de hospedaje de SQL.
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 los administradores. Aunque 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 de Virtual Machine Manager (VMM) y ver información sobre la licencia del servidor de VMM.
Sample-Managing-VMClouds Muestra cómo obtener acceso a información sobre la conexión de base de datos de un servidor de Service Provider Foundation e información sobre los objetos del servidor de VMM administrados por Service Provider Foundation.
Sample-Managing-WebSiteCloud Muestra cómo conectarse a un servidor de controlador de Nubes de sitios web y ver información sobre los servidores implementados de Nubes de sitios web.
Sample-Modify-VMCloud-Subscription Muestra un escenario útil para desencadenar un runbook cuando el inquilino o el administrador suspende o activa una suscripción a VM Clouds.
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 para usar conexiones para conectarse a sistemas remotos.
Sample-Using-Credentials Muestra la capacidad de Service Management Automation para usar las credenciales y genera el usuario con el que se ejecuta el runbook de Service Management Automation. Después, se conecta al servidor "ServerName" y genera el usuario especificado por "SampleCredential" que accede al servidor.
Sample-Using-Modules Muestra la importación de módulos en runbooks y genera el número de módulos ya importados en el servidor "ServerName". Después, importa el módulo especificado por "ModulePath" y genera el nuevo recuento de módulos y la información correspondiente al módulo recién importado.
Sample-Using-RunbookParameters Muestra cómo usar parámetros de entrada para runbooks y especificar también si se requieren parámetros, proporcionar valores de parámetro predeterminados y usar valores de parámetro 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 la suspensión de un runbook. 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 completado el paso manual, el runbook suspendido se reanudaría manualmente para continuar el runbook.
Sample-Using-Variables Muestra la funcionalidad de Service Management Automation para usar variables.
Sample-Using-VMCloud-Automation Muestra un escenario útil para desencadenar un runbook al principio de un evento de Service Provider Foundation.

Pasos siguientes