Criar runbooks do Service Management Automation

Importante

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

Os runbooks no Service Management Automation e no Microsoft Automatização do Azure são Windows PowerShell fluxos de trabalho ou scripts do PowerShell. Eles permitem automatizar processos administrativos para gerir e implementar servidores em nuvem ou qualquer outra função que um script do Windows PowerShell possa efetuar.

Não existem diferenças nos runbooks entre os dois sistemas e o mesmo runbook pode ser executado com uma funcionalidade idêntica. Quando o termo Automatização é utilizado neste artigo, refere-se ao Service Management Automation e ao Microsoft Automatização do Azure.

Os serviços adicionais fornecidos pela Automatização para trabalhar com Fluxos de Trabalho do Windows PowerShell incluem o seguinte:

  • Armazenamento e gestão centralizados de runbooks.

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

  • Recursos globais geridos centralmente e disponíveis para todos os runbooks.

  • Interface de utilizador para criação e teste de runbooks.

  • Conjunto de cmdlets para gerir e iniciar runbooks.

Criar ou importar um runbook

Pode adicionar um runbook ao Service Management Automation ao criá-lo no portal de gestão ou ao importá-lo a partir de um ficheiro.

Criar um runbook no Portal de Gestão

  1. No Portal de Gestão, selecione Novo, ServiçosAplicacionais, Automatização, Runbook, Criação Rápida.

  2. Introduza as informações necessárias e selecione Criar. O nome do runbook tem de começar por uma letra e pode ter letras, números, carateres de sublinhado e travessões.

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

  4. O seu novo runbook será apresentado no separador Runbooks .

Importar um runbook a partir de um ficheiro

  1. No Portal de gestão, selecione Automatização e, em seguida, selecione uma Conta de Automatização.

  2. Selecione Import (Importar).

  3. Selecione Procurar Ficheiro e localize o ficheiro de script a importar.

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

  5. O seu novo runbook será apresentado no separador Runbooks da Conta de Automatização.

Importar um runbook de um ficheiro de script com Windows PowerShell

Pode utilizar o cmdlet Import-SmaRunbook para criar um novo runbook a partir de um ficheiro de script que contenha um fluxo de trabalho.

Os comandos de exemplo seguintes exemplificam como importar um ficheiro de script para um runbook existente e, depois, 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 no Service Management Automation tem duas versões: Rascunho e Publicado. Edite a versão Rascunho do fluxo de trabalho e, em seguida, publique-a para que possa ser executada. Não é possível editar a versão Publicada.

Editar um runbook com o Portal de Gestão

O Portal de Gestão inclui um editor que pode utilizar para ver e editar runbooks. Além de fornecer capacidades básicas de edição de texto, o editor fornece a capacidade de inserir automaticamente código para runbooks, recursos globais e atividades.

  1. No Portal de Gestão, selecione Automatização.

  2. Selecione o separador Runbooks .

  3. Selecione o nome do runbook que pretende editar.

  4. Selecione o separador Autor .

  5. Selecione Rascunho na parte superior do ecrã ou o botão Editar na parte inferior do ecrã.

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

  7. Selecione Guardar quando as suas edições estiverem concluídas.

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

Selecione o separador necessário para obter os passos para inserir código para runbooks, recursos globais e atividades:

Siga estes passos para inserir código num runbook:

  1. Abra o runbook no editor do Portal de Gestão.

  2. Na parte inferior do ecrã, selecione Inserir e, em seguida, selecione Runbook.

  3. Selecione o runbook a inserir a partir da coluna central e selecione a seta para a direita.

  4. Se o runbook contiver parâmetros, estes serão apresentados para sua informação.

  5. Selecione o botão de verificação.

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

  7. Se o runbook precisar de parâmetros, forneça um valor adequado em vez do tipo de dados entre chavetas <>.

Editar um runbook de Automatização com o PowerShell

Para editar um runbook com o Windows PowerShell, tem de utilizar o editor que selecionou para editar o fluxo de trabalho e guardá-lo num ficheiro .ps1. Pode utilizar o cmdlet Get-SMARunbookDefinition para obter os conteúdos do runbook e, em seguida, o cmdlet Edit-SMARunbook para substituir o fluxo de trabalho de rascunho existente pelo modificado.

Para obter o conteúdo de um runbook com Windows PowerShell

Os comandos de exemplo seguintes exemplificam como obter o script de um runbook e guardá-lo num ficheiro de script. Neste exemplo, é obtida a versão de Rascunho. Também é possível obter a versão Publicada do runbook, embora esta 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 com Windows PowerShell

Os comandos de exemplo seguintes exemplificam como substituir os conteúdos existentes de um runbook pelos conteúdos de um ficheiro de script que contenha 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 Automatização com o ISE do PowerShell

Windows PowerShell o Ambiente de Scripting Integrado (ISE) é uma aplicação que lhe permite executar comandos e escrever, testar e depurar scripts. O Suplemento ISE do PowerShell do SMA permite-lhe utilizar esta ferramenta para escrever e testar runbooks de Automatização.

  1. Abra o ISE do Windows PowerShell.

  2. Se o suplemento ISE do SMA não for apresentado no lado direito do ISE, abra o menu Suplementos e ative o suplemento ISE do SMA.

  3. Inicie sessão no SMA no separador Configuração .

  4. Selecione o separador Runbook . Deverá ver uma lista de runbooks do SMA.

  5. Selecione o runbook que pretende editar e selecione Transferir. Esta ação transfere uma cópia local do runbook a partir do SMA.

  6. Selecione Abrir. Esta ação cria um novo separador com o runbook.

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

  8. Selecione Carregar Rascunho para enviar o runbook para o SMA. Esta ação 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 o runbook

Depois de criar o runbook, tem de publicá-lo para que a função de trabalho do runbook possa executá-lo. Cada runbook na Automatização de Gestão de Serviços tem um Rascunho e uma versão Publicada. Apenas a versão Publicada está disponível para ser executada e só a versão de Rascunho pode ser editada. A versão Publicada não é afetada por quaisquer alterações feitas à versão de Rascunho. Quando estiver pronto para disponibilizar a versão de Rascunho, publica-a, o que substitui a versão Publicada com a versão de Rascunho.

Publicar um runbook com o portal de gestão

  1. Selecione a área de trabalho Automatização .

  2. Na parte superior do ecrã, selecione Runbooks.

  3. Localize o runbook a editar e clique no respetivo nome.

  4. Na parte superior do ecrã, selecione Autor.

  5. Selecione Rascunho.

  6. Na parte inferior do ecrã, selecione Publicar.

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

Publicar um runbook com o PowerShell

Pode utilizar o cmdlet Publish-SmaRunbook para publicar runbooks com o Windows PowerShell. Os comandos de exemplo seguintes explicam como publicar runbooks.

$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 com o ISE do PowerShell

Windows PowerShell o Ambiente de Scripting Integrado (ISE) é uma aplicação que lhe permite executar comandos e escrever, testar e depurar scripts. O Suplemento ISE do SMA PowerShell permite-lhe utilizar esta ferramenta para escrever e testar runbooks de Automatização.

  1. Abra o ISE do Windows PowerShell.

  2. Se o suplemento ISE do SMA não for apresentado no lado direito do ISE, abra o menu Suplementos e ative o suplemento ISE do SMA.

  3. Inicie sessão no SMA no separador Configuração .

  4. Selecione o separador Runbook . 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 o runbook

Pode testar a versão de Rascunho de um runbook na Automatização de Gestão de Serviços ao deixar a versão publicada do runbook inalterada. Isto permite-lhe verificar se o runbook está a funcionar corretamente antes de substituir a versão publicada.

Quando testa um runbook, o runbook de Rascunho é executado e todas as ações que executar são concluídas. Não é criado nenhum histórico de tarefas, mas os fluxos Saída e Aviso e Erro são apresentados no Painel de Saída do Teste. As mensagens para o Stream Verboso só são apresentadas no Painel de Saída se a variável $VerbosePreference estiver definida como Continuar.

Quando testa um runbook, este ainda executa o fluxo de trabalho normalmente e executa quaisquer ações contra recursos no ambiente. Por este motivo, deverá testar apenas runbooks em recursos de não produção.

Testar um runbook na Automatização de Gestão de Serviços

Para testar um runbook, abra a versão de Rascunho do runbook no Portal de Gestão. Selecione o botão Testar na parte inferior do ecrã para iniciar o teste.

Pode parar ou suspender o runbook enquanto está a ser testado com os botões por baixo do Painel de Saída. Quando suspende o runbook, este conclui a atividade que estava em curso antes de ser suspenso. Depois de o runbook ter sido suspenso, pode pará-lo ou reiniciá-lo.

Testar um runbook com o ISE do PowerShell

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

Os recursos globais e os respetivos valores são transferidos do grupo de automatização para serem utilizados para testes locais. Pode inspecionar ou alterar estes valores no separador Ativos . Os valores encriptados são apresentados a laranja e os respetivos valores não são transferidos. Se quiser utilizar estes recursos em testes locais, tem de definir o respetivo valor localmente.

Para testar o runbook no SMA, selecione Rascunho de Teste no SMA. Será aberta uma nova janela. Selecione Iniciar Nova Tarefa para iniciar o teste. O resultado será apresentado na janela.

Exemplos de runbooks de automatização

Os runbooks seguintes são enviados com a Automatização de Gestão de Serviços como runbooks de exemplo para ilustrar técnicas e melhores práticas. Estão disponíveis para serem utilizados na extensão de Automatização no Microsoft Azure Pack para Windows Server.

Nome do runbook Description
Sample-Deleting-VMCloud-Subscription Demonstra um cenário útil para acionar um runbook quando um utilizador elimina uma subscrição de Nuvens da VM.
Sample-Managing-Azure Mostra como ligar a uma subscrição do Microsoft Azure e realizar operações básicas com o módulo Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Demonstra a capacidade da Automatização de Gestão de Serviços para ligar a Configuration Manager.
Sample-Managing-DataProtectionManager Demonstra como estabelecer ligação com um servidor Data Protection Manager (DPM) e visualizar informações sobre os discos que se encontram no servidor DPM.
Sample-Managing-MySQLServers Demonstra como obter um token de segurança que depois será utilizado para obter uma lista de servidores anfitriões.
Sample-Managing-OperationsManager Demonstra a capacidade da Automatização de Gestão de Serviços para ligar ao System Center Operations Manager.
Sample-Managing-Orchestrator Mostra como ligar ao System Center Orchestrator e iniciar um runbook do Orchestrator para utilizar a sua infraestrutura existente.
Sample-Managing-Plans Demonstra como criar um novo plano e adicionar o serviço SQL Server com uma quota definida ao novo plano.
Sample-Managing-ServiceBusClouds Demonstra como estabelecer ligação com um servidor de Nuvem de Service Bus e ver informações sobre os espaços de nomes criados.
Sample-Managing-SQLServers Demonstra como criar um novo grupo de servidores e adicionar um servidor de alojamento de SQL.
Sample-Managing-UserAccounts Demonstra como criar um Utilizador no Microsoft Azure Pack para Windows Server, que será criado no Microsoft Azure Pack e aparecer no portal de gestão da extensão Utilizadores dos administradores. No entanto, este utilizador também deve ser integrado no fornecedor de autenticação (por exemplo, AuthSite) para aceder ao portal de gestão dos inquilinos, o que não está incluído neste exemplo.
Sample-Managing-VirtualMachineManager Demonstra como estabelecer ligação com um servidor Virtual Machine Manager (VMM) e ver informações sobre a licença de servidor do VMM.
Sample-Managing-VMClouds Demonstra como aceder a informações sobre a ligação à base de dados de um servidor do Service Provider Foundation e a informações sobre os objetos de servidor do VMM geridos pelo Service Provider Foundation.
Sample-Managing-WebSiteCloud Demonstra como estabelecer ligação com um servidor de controlador de Nuvens de Web Site e ver informações sobre os servidores implementados de Nuvens de Web Site.
Sample-Modify-VMCloud-Subscription Demonstra um cenário útil para acionar um runbook quando o inquilino ou o administrador suspende ou ativa uma subscrição de Nuvens da VM.
Sample-Using-Activities Demonstra a capacidade da Automatização de Gestão de Serviços para utilizar atividades
Sample-Using-Checkpoints Demonstra a capacidade de utilizar pontos de verificação na Automatização de Gestão de Serviços.
Sample-Using-Connections Demonstra a capacidade da Automatização de Gestão de Serviços de utilizar ligações para ligar a sistemas remotos.
Sample-Using-Credentials Demonstra a capacidade da Automatização de Gestão de Serviços para utilizar credenciais e produz o utilizador que o runbook de Automatização de Gestão de Serviços está a executar como. Em seguida, estabelece ligação com o servidor 'ServerName' e devolve o utilizador especificado por 'SampleCredential' que está a aceder ao servidor.
Sample-Using-Modules Demonstra a importação de módulos em runbooks e devolve o número de módulos já importados no servidor 'ServerName'. Em seguida, importa o módulo especificado por 'ModulePath' e devolve a nova contagem de módulos e informações correspondentes ao módulo recentemente importado.
Sample-Using-RunbookParameters Demonstra como utilizar os parâmetros de entrada para runbooks e também como especificar se são necessários parâmetros, fornecer valores de parâmetros predefinidos e utilizar valores de parâmetros mais tarde no fluxo de trabalho.
Sample-Using-Runbooks Demonstra como chamar um runbook a partir de outro runbook.
Sample-Using-SuspendWorkflow Demonstra como forçar a suspensão de um runbook. Isto pode ser útil se for necessário um passo manual antes de um runbook continuar, como receber a aprovação de início de sessão de uma pessoa específica. Uma vez concluído o passo manual, o runbook suspenso seria retomado manualmente para continuar o runbook.
Sample-Using-Variables Demonstra a capacidade da Automatização de Gestão de Serviços de utilizar variáveis.
Sample-Using-VMCloud-Automation Demonstra um cenário útil para acionar um runbook no início de um evento do Service Provider Foundation.

Passos seguintes

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