Compartilhar via


Variáveis

 

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

As variáveis do Automação são valores que estão disponíveis para todos os runbooks. Elas podem ser criadas, modificadas e recuperadas por meio do portal de gerenciamento, do Windows PowerShell ou de dentro um runbook. as variáveis Automação são úteis para os seguintes cenários:

  • Compartilhar um valor entre vários runbooks.

  • Compartilhar um valor entre vários trabalhos do mesmo runbook.

  • Gerenciar um valor no portal de gerenciamento ou por meio da linha de comando do Windows PowerShell que é usada por runbooks.

As variáveis Automação são mantidas para que continuem disponíveis mesmo que o runbook falhe. Isso também permite que um valor seja definido por um runbook e seja então usado por outro, ou seja usado pelo mesmo runbook na próxima vez que for executado.

Quando uma variável é criada, você deve especificar seu tipo de dados por meio da lista a seguir. Isso ocorre de modo que o portal de gerenciamento possa exibir o controle apropriado para o valor da variável. Você só pode atribuir um valor do tipo correto a uma variável.

  • Cadeia de caracteres

  • Inteiro

  • Booliano

  • Data e hora

Quando uma variável é criada, você pode especificar que ela seja armazenada criptografada. Quando uma variável é criptografada, ela é armazenada com segurança no banco de dados do SMA e seu valor não pode ser recuperado com o cmdlet Get-SmaVariable. O único modo de se recuperar um valor criptografado é por meio da atividade Get-AutomationVariable em um runbook. Você pode armazenar diversos valores do tipo definido para uma única variável, criando uma tabela de hash.

Cmdlets do Windows PowerShell

Os cmdlets na tabela a seguir são usados para criar e gerenciar variáveis com o Windows PowerShell em Service Management Automation.

Cmdlets

Descrição

Get-SmaVariable

Recupera o valor de uma variável existente.

Set-SmaVariable

Cria uma nova variável ou define o valor de uma variável existente.

Atividades de runbook

As atividades na tabela a seguir são usadas para acessar variáveis em um runbook.

Atividades

Descrição

Get-AutomationVariable

Recupera o valor de uma variável existente.

Set-AutomationVariable

Define o valor de uma variável existente.

System_CAPS_noteObservação

Evite usar variáveis no parâmetro –Name de Get-AutomationVariable, já que isso pode complicar a descoberta de dependências entre runbooks e variáveis Automação.

Criando uma variável nova variável de Automação

Para criar uma nova variável com o portal de gerenciamento

  1. Selecione o espaço de trabalho Automação.

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

  3. Na parte inferior da janela, clique em Adicionar configuração.

  4. Clique em Adicionar Variável.

  5. Na lista suspensa Tipo, selecione um tipo de dados.

  6. Digite um nome para a variável na caixa Nome.

  7. Clique na seta à direita.

  8. Digite um valor para a variável e especifique se deseja criptografá-la.

  9. Clique na marca de seleção para salvar a nova variável.

Para criar uma nova variável com o Windows PowerShell em Service Management Automation

O cmdlet Set-SmaVariable cria uma nova variável e também define o valor de uma variável existente. Os comandos de exemplo a seguir mostram como criar uma variável do tipo cadeia de caracteres.

$web = 'https://MySMAServer'
$port = 9090

Set-SMAVariable –WebServiceEndpoint $web –Port $port –Name 'MyVariable' –Value 'My String'

Usando uma variável em um runbook

Use a atividade Get-AutomationVariable para usar uma variável em um runbook.

Para usar uma variável em um runbook

  • O código de exemplo a seguir mostra como definir e recuperar uma variável em um runbook. Neste exemplo, presume-se que variáveis do tipo número inteiro denominadas NumberOfIterations e NumberOfRunnings e uma variável do tipo cadeia de caracteres denominada SampleMessage já foram criadas.

    $NumberOfIterations = Get-AutomationVariable -Name 'NumberOfIterations'
    $NumberOfRunnings = Get-AutomationVariable -Name 'NumberOfRunnings'
    $SampleMessage = Get-AutomationVariable -Name 'SampleMessage'
    Write-Output "Runbook has been run $NumberOfRunnings times."
    for ($i = 1; $i -le $NumberOfIterations; $i++) {
       Write-Output "$i`: $SampleMessage"
    }
    Set-AutomationVariable –Name NumberOfRunnings –Value (NumberOfRunngs += 1)