Compartir a través de


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

  • Interfaz de usuario para crear y probar runbooks.

  • Conjunto de cmdlets para administrar e iniciar runbooks.

Creación o importación de 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. De lo contrario, seleccione Aceptar.

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

Importación de un runbook desde un archivo

  1. En el Portal de administración, seleccione Automation y, a continuación, 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. De lo 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 runbook a partir de un archivo de script que contenga un flujo de trabajo.

Los siguientes comandos de ejemplo muestran cómo importar un archivo de script en un runbook existente y, a continuación, 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: Borrador y Publicado. 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.

Edición de un runbook con el Portal de administración

El Portal de administración incluye un editor que puede usar para ver y editar runbooks. Además de proporcionar funcionalidades 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, seleccione Automatización.

  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 situado 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 ver 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 rodeado por llaves <>.

Edición de un runbook de Automation con PowerShell

Para editar un runbook con Windows PowerShell, edite el flujo de trabajo mediante el editor que prefiera y guárdelo en un archivo .ps1. Puede usar el cmdlet Get-SMARunbookDefinition para recuperar el contenido del runbook y, a continuación, editar 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

Los siguientes comandos de ejemplo 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

Edición de un runbook de Automation con PowerShell ISE

Windows PowerShell Integrated Scripting Environment (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.

Publicación del runbook

Después de crear el runbook, debe publicarlo para que el runbook worker 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 esté listo para que la versión borrador esté disponible, la publica, que sobrescribe la versión publicada con la versión borrador.

Publicación de un runbook mediante el portal de administración

  1. Seleccione el área de trabajo de Automation .

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

  3. Busque el runbook para 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 usar 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 con PowerShell ISE

Windows PowerShell Integrated Scripting Environment (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.

Prueba del runbook

Puede probar la versión borrador de un runbook en Service Management Automation mientras deja sin cambios la versión publicada del runbook. 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 de salida y advertencia y error se muestran en el panel Salida de prueba. Los mensajes al flujo detallado se muestran en el panel de salida solo si la variable $VerbosePreference está establecida en Continuar.

Al probar un runbook, sigue ejecutando el flujo de trabajo normalmente y realiza cualquier acción en los recursos del entorno. Por este motivo, solo debe probar runbooks en recursos que no son de producción.

Prueba de un runbook en Service Management Automation

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

Puede detener o suspender el runbook mientras se prueba 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.

Prueba de 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 puede 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. 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 nueva ventana. Seleccione Iniciar nuevo trabajo para iniciar la prueba. La salida se mostrará en la ventana.

Ejemplos de runbook de Automation

Los siguientes runbooks se incluyen 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
Ejemplo de eliminación de la suscripción a VMCloud-Subscription Muestra un escenario útil para desencadenar un runbook cuando un usuario elimina una suscripción a nubes de máquina virtual.
Administración de ejemplo de 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 funcionalidad de Service Management Automation para conectarse a Configuration Manager.
Sample-Managing-DataProtectionManager Muestra cómo conectarse a un servidor de Administrador de protección de datos (DPM) y ver información sobre los discos que se encuentran 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 funcionalidad 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.
Ejemplos de administración de planes 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.
Administración de ejemplo-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 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 de Virtual Machine Manager (VMM) y ver información sobre la licencia del servidor VMM.
Ejemplo de administración de 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 de servidor VMM administrados por Service Provider Foundation.
Sample-Managing-WebSiteCloud Muestra cómo conectarse a un servidor de controlador de nube de sitio web y ver información sobre los servidores implementados en las nubes de sitio 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 nubes de máquina virtual.
Actividades de uso de ejemplo Muestra la funcionalidad de Service Management Automation para usar actividades
Sample-Using-Checkpoints Muestra la capacidad de usar puntos de control en Service Management Automation.
Conexiones de ejemplo Muestra la funcionalidad de Service Management Automation para usar conexiones para conectarse a sistemas remotos.
Ejemplo de uso de credenciales Muestra la funcionalidad de Service Management Automation para usar las credenciales y genera el usuario que ejecuta el runbook de Service Management Automation. A continuación, se conecta al servidor "ServerName" y genera el usuario especificado por "SampleCredential" que accede al servidor.
Módulos de ejemplo Muestra la importación de módulos en runbooks y genera el número de módulos ya importados en el servidor "ServerName". A continuación, importa el módulo especificado por "ModulePath" y genera el nuevo recuento de módulos e 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.
Runbooks de ejemplo 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 con el runbook.
Variables de ejemplo 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