Operações de Módulos e Runbook

Atualizada: Abril de 2014

Aplica-se a: System Center 2012 R2 Orchestrator, Windows Azure Pack for Windows Server

Os passos para criar e trabalhar com runbooks do Service Management Automation são diferentes consoante esteja a utilizar o portal de gestão do Windows Azure Pack ou o Windows PowerShell. Os passos básicos para realizar várias operações comuns utilizando ambos os métodos são fornecidos nas secções seguintes.

Para criar um runbook com o portal de gestão para administradores, crie primeiro um runbook vazio e posteriormente edite-o com o editor do Automation para criar o script. O Windows PowerShell permite importar um ficheiro de script existente para criar o runbook.

  1. Selecione a área de trabalho do Automation.

  2. Na parte inferior da janela, clique em Novo.

  3. Clique em Criação Rápida.

  4. Escreva um nome para o runbook na caixa Nome do Runbook levando em consideração as Naming recommendations.

  5. Opcionalmente, escreva uma descrição na caixa Descrição e uma ou mais etiquetas separadas por vírgulas.

  6. Clique em Criar.

  7. Siga um dos procedimentos em Editar um Runbook para editar o conteúdo do runbook.

  • Para criar um runbook com o Windows PowerShell, utilize um editor à sua escolha para escrever o script de fluxo de trabalho. Em seguida, utilize o cmdlet Import-SmaRunbook para importar o ficheiro de script e criar o runbook. O nome do ficheiro de script tem de corresponder ao nome do fluxo de trabalho e este nome será utilizado para o runbook.

    Quando cria o runbook, pode utilizar o parâmetro –Tag para definir uma etiqueta no runbook. Depois de o runbook ter sido criado, não é possível definir a etiqueta com o Windows PowerShell.

    Os comandos de exemplo seguintes mostram como criar um runbook. Exemplo:

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    Import-SMARunbook –WebServiceEndpoint $webServer –Port $port –Path $runbookPath
    

Nas propriedades de um runbook incluem-se propriedades de descrição e de registo, além de uma etiqueta de que certos serviços podem necessitar para aceder ao runbook. Pode editar estas propriedades com o portal de gestão para administradores ou com o cmdlet Set-SMARunbookConfiguration. Não é possível modificar a propriedade Etiqueta de um runbook existente com o Windows PowerShell. Essa propriedade só pode ser definida se o runbook for criado com Import-SMARunbook.

  1. Selecione a área de trabalho do Automation.

  2. Na parte superior da janela, clique em Runbooks.

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

  4. Na parte superior da janela, clique em Configurar.

  5. Defina quaisquer propriedades que devem ser alteradas.

  6. Clique em Guardar quando as edições estiverem concluídas.

  • Os comandos de exemplo seguintes mostram como definir as propriedades de um runbook. Neste exemplo, as propriedades de Descrição e de Registo de Depuração são modificadas.

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    Set-SMARunbookConfiguration –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Description "Sample runbook" –LogDebug $true
    

Depois de ter criado um runbook, pode editar a versão de rascunho do fluxo de trabalho dele. Posteriormente, pode editar a versão de Rascunho de Publicar um Runbook para que esteja disponível para ser executada na produção.

O portal de gestão para administradores inclui um editor que pode utilizar para ver e editar runbooks. Além de fornecer capacidades de edição de texto, o editor permite inserir automaticamente o código para Definições Globais, Atividades e Runbooks.

O editor do Automation inclui uma funcionalidade que permite inserir o código para Atividades, Definições e Runbooks num runbook. Em vez de escrever o código, pode selecioná-lo de uma lista de ativos disponíveis e fazer com que o código adequado seja inserido no runbook.

  1. Selecione a área de trabalho do Automation.

  2. Na parte superior da janela, clique em Runbooks.

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

  4. Na parte superior da janela, clique em Autor.

  5. Clique em Rascunho.

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

  7. Clique em Guardar quando as edições estiverem concluídas.

  1. Abra o runbook no editor do SMA.

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

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

  4. Se o runbook tiver parâmetros, serão listados a título de informação.

  5. Clique no botão de verificação.

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

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

  1. Abra o runbook no editor do SMA.

  2. Na parte inferior do ecrã, clique em Inserir e, em seguida, em Definição.

  3. Na coluna Ação da Definição, selecione o tipo de código necessário.

  4. Selecione-o a partir dos ativos disponíveis na coluna central.

  5. Clique no botão de verificação.

  1. Abra o runbook no editor do SMA.

  2. Na parte inferior do ecrã, clique em Inserir e, em seguida, em Atividade.

  3. Na coluna Módulo de Integração, selecione o módulo que contém a atividade.

  4. No painel Atividade, selecione uma atividade.

  5. Na coluna Descrição, anote a descrição da atividade. Opcionalmente, pode clicar em Ver ajuda detalhada para iniciar a ajuda para a atividade no browser.

  6. Clique na seta para a direita.

  7. Se a atividade tiver parâmetros, serão listados a título de informação.

  8. Clique no botão de verificação.

  9. O código para executar a atividade será inserido no runbook.

  10. Se a atividade necessitar de parâmetros, forneça um valor adequado em vez do tipo de dados rodeado por chavetas <>.

Apenas as atividades de módulos importados para o SMA estão disponíveis a partir da funcionalidade Inserir. Quaisquer cmdlets de um módulo instalado nos servidores do Worker podem ser utilizados num runbook mas, se não forem importados para o SMA, o editor não tem conhecimento da existência deles. Para obter mais detalhes, consulte a secção Modules deste guia.

Para editar um runbook com o Windows PowerShell, edite o script utilizando um editor à sua escolha e guarde-o num ficheiro .ps1. Pode utilizar o cmdlet Get-SmaRunbookDefinitionpara obter o conteúdo do runbook e, em seguida, o cmdlet Edit-SmaRunbook para substituir o script existente pelo modificado.

  • Os comandos de exemplo seguintes mostram como obter o script para um runbook. 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
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    $content = Get-SMARunbookDefinition –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Type Draft
    

  • Os comandos de exemplo seguintes mostram como substituir o conteúdo existente de um runbook pelo conteúdo de um ficheiro de script.

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook'
    $runbookName = 'Sample-TestRunbook'
    Edit-SMARunbook –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Path $runbookPath
    

Pode testar a versão de Rascunho de um runbook antes de a publicar. Este procedimento permite validar o funcionamento do runbook antes de ficar disponível para ser executado na produção, substituindo a versão Publicada existente. Quando testa o runbook, a versão de Rascunho é executada e todos os resultados são enviados para o Painel de Resultados no portal de gestão para administradores.

Quando um runbook é testado, os resultados obtidos são escritos mais depressa para a base de dados do Automation do que uma execução na produção do runbook porque se assume que há um administrador a interagir com a versão de teste. Além disso, as sequências de Depuração, Verboso e Progresso estão desativadas para execuções de testes, independentemente das definições delas na configuração do runbook. Pode ativá-las no script, definindo a Variável de preferênciaadequada.

  1. Selecione a área de trabalho do Automation.

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

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

  4. Na parte superior do ecrã, clique em Autor.

  5. Clique em Rascunho.

  6. Na parte inferior do ecrã, clique em Testar.

  7. Clique em Sim para a mensagem de verificação.

  8. Se o runbook tiver parâmetros, será apresentada uma caixa de diálogo onde podem ser fornecidos valores para cada um deles.

  9. Verifique os resultados no Painel de Resultados.

Cada runbook tem uma versão de Rascunho e uma versão Publicada. Apenas a versão Publicada está disponível para ser executada e apenas a versão de Rascunho pode ser editada. A versão Publicada não é afetada por quaisquer alterações na versão de Rascunho. Só quando a versão de Rascunho for disponibilizada é que pode ser publicada, substituindo a versão Publicada pela versão de Rascunho.

  1. Selecione a área de trabalho do Automation.

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

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

  4. Na parte superior do ecrã, clique em Autor.

  5. Clique em Rascunho.

  6. Na parte inferior do ecrã, clique em Publicar.

  7. Clique em Sim para a mensagem de verificação.

  • Os comandos de exemplo seguintes mostram como publicar um runbook.

    $webServer = 'https://MyServer'
    $port = 9090
    $runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
    $runbookName = 'Sample-TestRunbook'
    Publish-SMARunbookDefinition –WebServiceEndpoint $webServer –Port $port –Name $runbookName
    

  1. Selecione a área de trabalho do Automation.

  2. Na parte superior da janela, clique em Ativos.

  3. Verifique os ativos na lista com um Tipo de Módulo.

  • Os comandos de exemplo seguintes obtêm todos os módulos instalados no SMA.

    $webServer = 'https://MyWebServer'
    $port = 9090
    Get-SMAModule –WebServiceEndpoint $webServer –Port $port
    

Um Integration Module é um pacote que contém um Módulo do Windows PowerShell. Para obter informações sobre como gravar um Módulo do Windows PowerShell, consulte Gravar um Módulo do Windows PowerShell. Um Módulo de Integração pode conter qualquer dos Tipos de Módulo válidos especificados em Módulos do Windows PowerShell. Neles incluem-se Módulos Script (.psm1), Módulos Binários (.dll) e Módulos de Manifesto.

O pacote Módulo de Integração é um ficheiro comprimido com o mesmo nome que o módulo e uma extensão .zip. Contém uma única pasta também com o nome do módulo. O módulo do Windows PowerShell e quaisquer ficheiros de suporte, incluindo um ficheiro de manifesto (.psd1) se o módulo tiver algum, têm de estar contidos nesta pasta.

Caso o módulo contenha um tipo de Ligação, também tem de conter um ficheiro com o nome <ModuleName>-Automation.json que especifique as propriedades de tipo de ligação. Este é um ficheiro json com o seguinte formato.

{ 
   "ConnectionFields": [
   {
      "IsEncrypted":  false,
      "IsOptional":  false,
      "Name":  "ComputerName",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  false,
      "IsOptional":  true,
      "Name":  "Username",
      "TypeName":  "System.String"
   },
   {
      "IsEncrypted":  true,
      "IsOptional":  false,
      "Name":  "Password",
   "TypeName":  "System.String"
   }],
   "ConnectionTypeName""DataProtectionManager",
   "IntegrationModuleName""DataProtectionManager"
}

 

Pasta Ficheiros

MyModule

MyModule.psd1

MyModule-Automation.json

Um módulo é um ficheiro comprimido com uma extensão .zip que contém uma pasta que inclui um dos seguintes tipos de ficheiro:

  • Um módulo (ficheiro psm1)

  • Um manifesto de módulo (ficheiro psd1)

  1. Selecione a área de trabalho do Automation.

  2. Na parte inferior da janela, clique em Importar Módulo.

  3. Clique em Procurar Ficheiro.

  4. Selecione o ficheiro do módulo e clique em OK.

  5. Clique no botão de marca de verificação na caixa de diálogo.

  • Os comandos de exemplo seguintes mostram como importar um módulo.

    $webServer = 'https://MyWebServer'
    $port = 9090
    $modulePath = 'C:\Modules\MyModule.psm1'
    Import-SMAModule –WebServiceEndpoint $webServer –Port $port –Path $modulePath
    

  1. Selecione a área de trabalho do Automation.

  2. Na parte superior da janela, clique em Ativos.

  3. Localize o módulo e selecione-o.

  4. Desloque-se para o fim do ecrã Detalhes do Módulo e verifique as atividades dele.

  5. Opcionalmente, clique no ícone da lupa para filtrar determinadas atividades.

  1. Os comandos de exemplo seguintes mostram como obter as atividades de um determinado módulo.

    $webServer = 'https://MyWebServer'
    $port = 9090
    $moduleName = 'MyModule'
    $module = Get-SMAModule –WebServiceEndpoint $webServer –Port $port –Name $moduleName
    $module.Activities
    

  • Os comandos de exemplo seguintes mostram como obter as atividades de todos os módulos instalados no SMA.

    $webServer = 'https://MyWebServer'
    $port = 9090
    $modules = Get-SMAModule –WebServiceEndpoint $webServer –Port $port
    $modules | foreach {$_.Activities} | sort Name,ModuleName | ft Name,ModuleName,Description
    

Consulte Também

Mostrar: