Udostępnij za pośrednictwem


Zmienne

 

Dotyczy: Windows Azure Pack for Windows Server, System Center 2012 R2 Orchestrator

Zmienne programu Automatyzacja to wartości, które są dostępne dla wszystkich elementów Runbook. Mogą być tworzone, modyfikowane i pobierane z Portalu zarządzania, środowiska Windows PowerShell lub z elementu Runbook. Zmienne programu Automatyzacja są przydatne w następujących scenariuszach:

  • Udostępnienie wartości dla wielu elementów Runbook.

  • Udostępnienie wartości dla wielu zadań z jednego elementu Runbook.

  • Zarządzanie wartością z Portalu zarządzania lub wiersza polecenia środowiska Windows PowerShell, który jest używany przez elementy Runbook.

Zmienne programu Automatyzacja są trwałe, dlatego są dostępne nawet po błędzie elementu Runbook. Umożliwia to także ustawienie wartości przez jeden element Runbook, a następnie jego użycie przez inny element Runbook lub ten sam element Runbook po jego następnym uruchomieniu.

Przy tworzeniu zmiennej musisz określić typ jej danych na podstawie poniższej listy. Dzięki temu Portal zarządzania może wyświetlić odpowiednią kontrolkę dla wartości zmiennej. Do zmiennej możesz przypisać tylko wartość poprawnego typu.

  • String

  • Integer

  • Boolean

  • Datetime

Po utworzeniu zmiennej możesz określić, że ma być ona przechowywana w postaci zaszyfrowanej. Gdy zmienna jest zaszyfrowana, jest bezpiecznie przechowywana w bazie danych programu SMA, a jej wartości nie można pobrać za pomocą polecenia cmdlet Get-SmaVariable. Jedynym sposobem pobrania zaszyfrowanej wartości jest użycie działania Get-AutomationVariable w elemencie Runbook. Możesz przechowywać wiele wartości zdefiniowanego typu w pojedynczej zmiennej, tworząc tablicę skrótów.

Polecenia cmdlet środowiska Windows PowerShell

Polecenia cmdlet w poniższej tabeli służą do tworzenia zmiennych i zarządzania nimi za pomocą programu Windows PowerShell w programie Automatyzacja zarzÄ…dzania usÅ‚ugami.

Polecenia cmdlet

Opis

Get-SmaVariable

Pobiera wartość istniejącej zmiennej.

Set-SmaVariable

Tworzy nową zmienną lub ustawia wartość istniejącej zmiennej.

Działania elementu Runbook

Działania w poniższej tabeli umożliwiają dostęp do zmiennych w elemencie Runbook.

Działania

Opis

Get-AutomationVariable

Pobiera wartość istniejącej zmiennej.

Set-AutomationVariable

Ustawia wartość istniejącej zmiennej.

Uwaga

Należy unikać używania zmiennych w parametrze -Name polecenia cmdlet Get-AutomationVariable, ponieważ może to skomplikować wykrywanie zależności między elementami Runbook i zmiennymi programu Automatyzacja.

Tworzenie nowej zmiennej automatyzacji

Aby utworzyć nową zmienną za pomocą Portalu zarządzania

  1. Wybierz obszar roboczy Automatyzacja.

  2. W górnej części okna kliknij pozycję Zasoby.

  3. Kliknij pozycję Dodaj ustawienie w dolnej części okna.

  4. Kliknij polecenie Dodaj zmienną.

  5. Z listy rozwijanej Typ wybierz typ danych.

  6. Wpisz nazwę zmiennej w polu Nazwa.

  7. Kliknij strzałkę w prawo.

  8. Wpisz wartość zmiennej i określ, czy ma zostać zaszyfrowana.

  9. Kliknij znacznik wyboru, aby zapisać nową zmienną.

Aby utworzyć nową zmienną za pomocą programu Windows PowerShell w programie Service Management Automation

Polecenie cmdlet Set-SmaVariable umożliwia utworzenie nowej zmiennej i ustawienie wartości istniejącej zmiennej. Następujące polecenia przykładowe pokazują, jak utworzyć zmienną typu ciąg (string).

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

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

Używanie zmiennej w elemencie Runbook

Użyj działania Get-AutomationVariable, aby zastosować zmienną w elemencie Runbook.

Aby użyć zmiennej w elemencie Runbook

  • Następujący przykładowy kod przedstawia sposób ustawiania i pobierania zmiennej w elemencie Runbook. W tym przykładzie przyjęto, że zmienne typu całkowitoliczbowego NumberOfIterations i NumberOfRunnings oraz zmienna typu ciąg SampleMessage zostały już utworzone.

    $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)