Criar runbooks de Automação de Gerenciamento de Serviços

Importante

Esta versão do SMA (Service Management Automation) chegou ao fim do suporte. Recomendamos que você atualize para o SMA 2022.

Os runbooks na Automação de Gerenciamento de Serviços e no Microsoft Automação do Azure são fluxos de trabalho Windows PowerShell ou scripts do PowerShell. Fornecem a capacidade de se automatizar processos administrativos para o gerenciamento e implantação de servidores de nuvem ou quaisquer outras funções que um script do Windows PowerShell pode efetuar.

Não há diferença nos runbooks entre os dois sistemas e o mesmo runbook pode ser executado em qualquer um com funcionalidade idêntica. Quando o termo Automação é usado neste artigo, ele se refere à Automação de Gerenciamento de Serviços e à Microsoft Automação do Azure.

Os serviços adicionais fornecidos pelo Automation para trabalhar com fluxos de trabalho do Windows PowerShell, incluem os seguintes:

  • Armazenamento centralizado e gerenciamento de runbooks.

  • Arquitetura dimensionável para agendamento e execução de runbooks.

  • Recursos globais que são gerenciados e disponíveis centralmente para todos os runbooks.

  • Interface de usuário para criação e teste de runbooks.

  • Conjunto de cmdlets para gerenciar e iniciar runbooks.

Criar ou importar um runbook

Você pode adicionar um runbook à Automação de Gerenciamento de Serviços criando-o no portal de gerenciamento ou importando-o de um arquivo.

Criar um runbook no Portal de Gerenciamento

  1. No Portal de Gerenciamento, selecione Novo, Serviços de Aplicativos, Automação, Runbook, Criação Rápida.

  2. Insira as informações necessárias e selecione Criar. O nome do runbook deve começar com uma letra e pode ter letras, números, sublinhados e traços.

  3. Se você quiser editar o runbook agora, selecione Editar Runbook. Caso contrário, selecione OK.

  4. Seu novo runbook será exibido na guia Runbooks.

Importar um runbook de um arquivo

  1. No portal de gerenciamento, selecione Automação e, em seguida, selecione uma conta de automação.

  2. Selecione Importar.

  3. Selecione Procurar Arquivo e localize o arquivo de script a ser importado.

  4. Se você quiser editar o runbook agora, selecione Editar Runbook. Caso contrário, selecione OK.

  5. Seu novo runbook será exibido na guia Runbooks para a Conta de automação.

Importar um runbook de um arquivo de script com Windows PowerShell

Você pode usar o cmdlet Import-SmaRunbook para criar um novo runbook por meio de um arquivo de script que contém um fluxo de trabalho.

Os comandos de exemplo a seguir mostram como importar um arquivo de script para um runbook existente e, em seguida, publicá-lo.

$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 um runbook

Cada runbook na Automação de Gerenciamento de Serviços tem duas versões: Rascunho e Publicado. Edite a versão rascunho do fluxo de trabalho e, em seguida, publique-a para que ela possa ser executada. A versão Publicada não pode ser editada.

Editar um runbook com o Portal de Gerenciamento

O Portal de gerenciamento inclui um editor que você pode usar para exibir e editar runbooks. Além de fornecer recursos básicos de edição de texto, o editor fornece a capacidade de inserir automaticamente código para runbooks, ativos globais e atividades.

  1. No Portal de gerenciamento, selecione Automação.

  2. Selecione a guia Runbooks.

  3. Selecione o nome do runbook que você deseja editar.

  4. Selecione a guia Autor.

  5. Selecione Rascunho na parte superior da tela ou o botão Editar na parte inferior da tela.

  6. Execute a edição necessária.

  7. Selecione Salvar quando as edições forem concluídas.

  8. Selecione Publicar se quiser que a versão de rascunho mais recente do runbook seja publicada.

Selecione a guia necessária para as etapas para inserir código para runbooks, ativos globais e atividades:

Siga estas etapas para inserir código em um runbook:

  1. Abra o runbook no editor do Portal de gerenciamento.

  2. Na parte inferior da tela, selecione Inserir e, em seguida, runbook.

  3. Selecione o runbook a ser inserido na coluna central e selecione a seta para a direita.

  4. Se o runbook tiver parâmetros, eles serão listados para sua informação.

  5. Selecione o botão marcar.

  6. O código para executar o runbook selecionado será inserido no runbook atual.

  7. Se o runbook exigir parâmetros, forneça um valor apropriado no lugar do tipo de dados entre chaves <>.

Editar um runbook de Automação com o PowerShell

Para editar um runbook com o Windows PowerShell, você edita o fluxo de trabalho usando o editor de sua escolha e salva-o em um arquivo .ps1. Você pode usar o cmdlet Get-SMARunbookDefinition para recuperar o conteúdo do runbook e, em seguida, o cmdlet Edit-SMARunbook para substituir o fluxo de trabalho de rascunho pelo modificado.

Para recuperar o conteúdo de um runbook usando Windows PowerShell

Os comandos de exemplo a seguir mostram como recuperar o script de um runbook e salvá-lo em um arquivo de script. Neste exemplo, a versão de Rascunho é recuperada. Também é possível recuperar a versão Publicado do runbook, embora essa versão não possa ser alterada.

$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 alterar o conteúdo de um runbook usando Windows PowerShell

Os comandos de exemplo a seguir mostram como substituir o conteúdo existente de um runbook pelo conteúdo de um arquivo de script que contém um fluxo de trabalho.

$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 um runbook de Automação com o ISE do PowerShell

Windows PowerShell ISE (Ambiente de Script Integrado) é um aplicativo que permite executar comandos e escrever, testar e depurar scripts. O Complemento do ISE do SMA PowerShell permite que você use essa ferramenta para escrever e testar runbooks de Automação.

  1. Abra o ISE do Windows PowerShell.

  2. Se o complemento ISE do SMA não for exibido no lado direito do ISE, abra o menu Complementos e habilite o complemento ISE do SMA.

  3. Entre no SMA na guia Configuração .

  4. Selecione a guia Runbook . Você deverá ver uma lista de runbooks do SMA.

  5. Selecione o runbook que você deseja editar e selecione Baixar. Isso baixa uma cópia local do runbook do SMA.

  6. Selecione Abrir. Isso cria uma nova guia com o runbook.

  7. Faça as alterações necessárias no runbook.

  8. Selecione Carregar Rascunho para enviar o runbook ao SMA. Isso substituirá a versão de rascunho existente do runbook.

  9. Selecione Publicar Rascunho se quiser publicar a versão de rascunho mais recente do runbook.

Publicar seu runbook

Depois de criar o runbook, você precisa publicá-lo para que o runbook Worker possa executá-lo. Cada runbook na Automação de Gerenciamento de Serviços tem um Rascunho e uma versão Publicada. Somente a versão Publicada está disponível para ser executada, e somente a versão de Rascunho pode ser editada. A versão Publicada não é afetada pelas alterações feitas na versão de Rascunho. Quando estiver pronto para disponibilizar a versão do Rascunho, publique-a, que substitui a versão Publicada pela versão rascunho.

Publicar um runbook usando o portal de gerenciamento

  1. Selecione o workspace Automação.

  2. Na parte superior da tela, selecione Runbooks.

  3. Localize o runbook para editar e clique em seu nome.

  4. Na parte superior da tela, selecione Autor.

  5. Selecione Rascunho.

  6. Na parte inferior da tela, selecione Publicar.

  7. Selecione Sim para a mensagem de verificação.

Publicar um runbook usando o PowerShell

Você pode usar o Publish-SmaRunbook para publicar um runbook com o Windows PowerShell. Os comandos de exemplo a seguir mostram como publicar um runbook.

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

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

Publicar um runbook usando o ISE do PowerShell

Windows PowerShell ISE (Ambiente de Script Integrado) é um aplicativo que permite executar comandos e escrever, testar e depurar scripts. O Complemento do ISE do SMA PowerShell permite que você use essa ferramenta para escrever e testar runbooks de Automação.

  1. Abra o ISE do Windows PowerShell.

  2. Se o complemento ISE do SMA não for exibido no lado direito do ISE, abra o menu Complementos e habilite o complemento ISE do SMA.

  3. Entre no SMA na guia Configuração .

  4. Selecione a guia Runbook . Você deverá ver uma lista de runbooks do SMA.

  5. Selecione o runbook e selecione Publicar Rascunho para publicar a versão de rascunho mais recente do runbook.

Testar seu runbook

Você pode testar a versão rascunho de um runbook na Automação de Gerenciamento de Serviços, deixando a versão publicada do runbook inalterada. Isso permite que você verifique se o runbook está funcionando corretamente antes de substituir a versão publicada.

Quando você testa um runbook, o runbook de Rascunho é executado, e as ações que ele realiza são concluídas. Nenhum histórico de trabalhos é criado, mas os fluxos Saída e Aviso e Erro são exibidos no Painel de Saída de Teste. As mensagens para o Stream Detalhado serão exibidas no Painel de Saída somente se a variável $VerbosePreference estiver definida como Continuar.

Quando você testa um runbook, ele ainda executa o fluxo de trabalho normalmente e executa todas as ações em relação aos recursos no ambiente. Por esse motivo, você só deve testar runbooks contra recursos de não produção.

Testar um runbook na Automação de Gerenciamento de Serviços

Para testar um runbook, abra a versão de rascunho do runbook no Portal de gerenciamento. Selecione o botão Testar na parte inferior da tela para iniciar o teste.

Você pode parar ou suspender o runbook enquanto ele está sendo testado com os botões abaixo do Painel de Saída. Quando você suspende o runbook, ele conclui a atividade atual antes de ser suspenso. Após o runbook ser suspenso, você pode interrompê-lo ou reiniciá-lo.

Testar um runbook usando o ISE do PowerShell

O complemento do ISE do PowerShell fornece cmdlets que emulam as atividades padrão, como Get-SMACredential e Set-SMAVariable, para que você possa testar o runbook no computador local da mesma forma que faria com qualquer outro script.

Os ativos globais e seus valores são baixados do grupo de automação a serem usados para teste local. Você pode inspecionar ou alterar esses valores na guia Ativos . Os valores criptografados são exibidos em laranja e seus valores não são baixados. Se você quiser usar esses ativos em testes locais, deverá definir seu valor localmente.

Para testar o runbook no SMA, selecione Rascunho de Teste no SMA. Uma nova janela será aberta. Selecione Iniciar Novo Trabalho para iniciar o teste. A saída será exibida na janela.

Exemplos de runbook de automação

Os runbooks a seguir são fornecidos com a Automação de Gerenciamento de Serviços como runbooks de exemplo para ilustrar técnicas e práticas recomendadas. Eles estão disponíveis para serem usados na extensão de Automação no Microsoft Azure Pack para Windows Server.

Nome do runbook Descrição
Sample-Deleting-VMCloud-Subscription Demonstra um cenário útil para disparar um runbook quando um usuário exclui uma assinatura de Nuvens de VM.
Sample-Managing-Azure Mostra como se conectar a uma assinatura do Microsoft Azure e executar operações básicas usando o módulo Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Demonstra a capacidade da Automação de Gerenciamento de Serviços para se conectar ao Configuration Manager.
Sample-Managing-DataProtectionManager Demonstra como conectar-se a um servidor do Data Protection Manager (DPM) e exibir informações sobre os discos encontrados no servidor do DPM.
Sample-Managing-MySQLServers Demonstra como recuperar um token de segurança que será utilizado para então recuperar uma lista de servidores host.
Sample-Managing-OperationsManager Demonstra a capacidade da Automação de Gerenciamento de Serviços para se conectar ao System Center Operations Manager.
Sample-Managing-Orchestrator Mostra como se conectar ao System Center Orchestrator e iniciar um runbook do Orchestrator para usar sua infraestrutura existente.
Sample-Managing-Plans Demonstra como criar um plano novo e adicionar o serviço SQL Server com uma cota definida ao novo plano.
Sample-Managing-ServiceBusClouds Demonstra como se conectar a um servidor de Service Bus Cloud e exibir informações sobre os namespaces criados.
Sample-Managing-SQLServers Demonstra como criar um novo grupo de servidores e adicionar um servidor de hospedagem do SQL.
Sample-Managing-UserAccounts Demonstra como criar um usuário no Microsoft Azure Pack para Windows Server, que será criado no Microsoft Azure Pack e aparecerá no portal de gerenciamento para administradores Extensão de usuários. No entanto, esse usuário também deve ser integrado ao provedor de autenticação (por exemplo, AuthSite) para acessar o portal de gerenciamento para locatários, que não está incluído neste exemplo.
Sample-Managing-VirtualMachineManager Demonstra como conectar-se a um servidor do Virtual Machine Manager (VMM) e exibir informações sobre a licença do servidor do VMM.
Sample-Managing-VMClouds Demonstra como acessar informações sobre uma conexão de banco de dados do servidor do Service Provider Foundation e informações sobre objetos do servidor do VMM gerenciados pelo Service Provider Foundation.
Sample-Managing-WebSiteCloud Demonstra como conectar-se a um servidor controlador de Nuvens de Websites e exibir informações sobre os servidores implantados de Nuvens de Websites.
Sample-Modify-VMCloud-Subscription Demonstra um cenário útil para disparar um runbook quando um locatário ou administrador suspende ou ativa uma assinatura de Nuvens de VM.
Sample-Using-Activities Demonstra a capacidade da Automação de Gerenciamento de Serviços para usar atividades
Sample-Using-Checkpoints Demonstra a capacidade de usar pontos de verificação na Automação de Gerenciamento de Serviços.
Sample-Using-Connections Demonstra a capacidade da Automação de Gerenciamento de Serviços de usar conexões para se conectar a sistemas remotos.
Sample-Using-Credentials Demonstra a capacidade da Automação de Gerenciamento de Serviços de usar credenciais e gera ao usuário o runbook de Automação de Gerenciamento de Serviços em execução. Então, conecta-se ao servidor 'NomeDoServidor' e transmite o usuário especificado por 'CredencialDeExemplo' que acessa o servidor.
Sample-Using-Modules Demonstra a importação de módulos em runbooks e transmite o número de módulos já importados no servidor 'NomeDoServidor'. Então, importa o módulo especificado por 'CaminhoDoMódulo' e transmite a nova contagem de módulos e as informações correspondentes para o módulo recém-importado.
Sample-Using-RunbookParameters Demonstra como utilizar parâmetros de entrada para runbooks e também especifica se são necessários parâmetros, fornece valores padrão de parâmetros e utiliza valores de parâmetros posteriormente no fluxo de trabalho.
Sample-Using-Runbooks Demonstra como chamar um runbook de dentro de outro runbook.
Sample-Using-SuspendWorkflow Demonstra como forçar a suspensão de um runbook. Isso pode ser útil se uma etapa manual for necessária antes que um runbook continue, como receber aprovação de saída de uma pessoa específica. Após a conclusão da etapa manual, o runbook suspenso deve ser reiniciado manualmente para continuar o runbook.
Sample-Using-Variables Demonstra a capacidade da Automação de Gerenciamento de Serviços para usar variáveis.
Sample-Using-VMCloud-Automation Demonstra um cenário útil para o disparo de um runbook no início de um evento do Service Provider Foundation.

Próximas etapas

  • Leia sobre como chamar um runbook de outro runbook.
  • Leia sobre como trabalhar com módulos de integração.