Variáveis
Aplica-se a: Windows Azure Pack for Windows Server, System Center 2012 R2 Orchestrator
Automation variáveis são valores que estão disponíveis para todos os runbooks. Podem ser criadas, modificadas e obtidas a partir do portal de gestão, do Windows PowerShell ou de um runbook. Automation as variáveis são úteis para os cenários seguintes:
Partilhar um valor entre vários runbooks.
Partilhar um valor entre várias tarefas do mesmo runbook.
Gerir um valor a partir do portal de gestão ou da linha de comandos do Windows PowerShell utilizada pelos runbooks.
Automation As variáveis são persistentes para continuarem a estar disponíveis, mesmo que o runbook falhe. Isto também permite que um valor seja definido por um runbook e que será, posteriormente, utilizado por outro ou que é utilizado pelo mesmo runbook da vez seguinte que for executado.
Quando uma variável é criada, é necessário especificar o respetivo tipo de dados a partir da lista seguinte. Isto é necessário para que o portal de gestão possa apresentar o controlo apropriado para o valor da variável. Só é possível atribuir um valor do tipo correto a uma variável.
Cadeia
Número inteiro
Booleano
Datetime
Quando uma variável é criada, é possível indicar que esta seja armazenada encriptada. Quando uma variável é encriptada, é armazenada em segurança na base de dados do SMA e o respetivo valor não pode ser obtido a partir do cmdlet Get-SmaVariable. A única forma de um valor encriptado poder ser obtido é a partir da atividade de Get-AutomationVariable num runbook. É possível armazenar vários valores do tipo definido para uma única variável através da criação de uma tabela hash.
Cmdlets do Windows PowerShell
Os cmdlets na tabela seguinte são utilizados para criar e gerir variáveis com o Windows PowerShell no Service Management Automation.
Cmdlets |
Descrição |
---|---|
Obtém o valor de uma variável existente. |
|
Cria uma variável nova ou define o valor de uma variável existente. |
Atividades do Runbook
As atividades da tabela seguinte são utilizadas para aceder a variáveis num runbook.
Atividades |
Descrição |
---|---|
Get-AutomationVariable |
Obtém o valor de uma variável existente. |
Set-AutomationVariable |
Define o valor de uma variável existente. |
Nota
Deve evitar utilizar variáveis no parâmetro –Name de Get-AutomationVariable, uma vez que isso pode dificultar a deteção de dependências entre runbooks e variáveis do Automation.
Criar uma nova variável de Automatização
Para criar uma variável nova através do portal de gestão
Selecione a área de trabalho Automatização.
Na parte superior da janela, clique em Ativos.
Na parte inferior da janela, clique em Adicionar Definição.
Clique em Adicionar Variável.
Na lista pendente Tipo, selecione um tipo de dados.
Escreva um nome para a variável na caixa Nome.
Clique na seta para a direita.
Escreva um valor para a variável e especifique se deve ser encriptada.
Clique na marca de verificação para guardar a variável nova.
Para criar uma variável nova com o Windows PowerShell no Service Management Automation
O cmdlet Set-SmaVariable cria uma nova variável e define o valor para uma variável existente. Os comandos de exemplo seguintes explicam como criar uma variável de cadeia de tipo.
$web = 'https://MySMAServer'
$port = 9090
Set-SMAVariable –WebServiceEndpoint $web –Port $port –Name 'MyVariable' –Value 'My String'
Utilizar uma variável num runbook
Utilize a atividade de Get-AutomationVariable para utilizar uma variável num runbook.
Para utilizar uma variável num runbook
-
O código de exemplo seguinte mostra como definir e obter uma variável num runbook. Neste exemplo, presume-se que as variáveis do tipo número inteiro denominadas NumberOfIterations e NumberOfRunnings e uma variável de cadeia de tipo 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)
Consultar Também
Service Management Automation
Criar Runbooks de Automatização
Ativos Globais