Udostępnij za pośrednictwem


Upraszczanie tworzenia elementów runbook usługi Service Management Automation za pomocą zasobów globalnych

Zasoby globalne są dostępne dla wszystkich elementów Runbook w środowisku usługi Automation. Można je utworzyć i skonfigurować przy użyciu obszaru roboczego usługi Automation w portalu zarządzania lub przy użyciu odpowiednich poleceń cmdlet w programie Windows PowerShell. Z poziomu elementu Runbook można pobrać i ustawić wartości dla zasobów globalnych za pomocą działań w module RunbookConstructs . Polecenia cmdlet programu Windows PowerShell są dostępne do użycia w elementach Runbook w usłudze Service Management Automation, ale działania są zalecane, ponieważ są one bardziej wydajne, ponieważ nie muszą działać za pośrednictwem usługi internetowej Automation.

Pobieranie lub ustawianie poświadczeń

Poświadczenie usługi Automation to nazwa użytkownika i hasło, które mogą być używane z poleceniami programu Windows PowerShell lub certyfikatem przekazanym do serwera. Właściwości poświadczeń są bezpiecznie przechowywane w bazie danych usługi Automation i mogą być dostępne w elemecie Runbook za pomocą działania Get-AutomationPSCredential lub Get-AutomationCertificate .

Program PowerShell do zarządzania poświadczeniami

Polecenia cmdlet w poniższej tabeli umożliwiają tworzenie poświadczeń za pomocą programu Windows PowerShell i zarządzanie nimi w programie Service Management Automation.

Polecenia cmdlet opis
Get-SmaCertificate Pobiera certyfikat automatyzacji.
Get-SmaCredential Pobiera poświadczenia programu PowerShell usługi Automation.
Remove-SmaCertificate Usuwa certyfikat automatyzacji.
Remove-SmaCredential Usuwa poświadczenia programu PowerShell usługi Automation.
Set-SmaCertificate Tworzy nowy certyfikat lub ustawia właściwości istniejącego certyfikatu, w tym przekazywanie pliku certyfikatu i ustawianie hasła dla pliku pfx.
Set-SmaCredential Tworzy nowe poświadczenie programu PowerShell usługi Automation lub ustawia właściwości dla istniejącego poświadczenia.

Program PowerShell do pracy z poświadczeniami

Aby uzyskać dostęp do poświadczeń w elemecie Runbook, możesz użyć działań w poniższej tabeli.

Działania opis
Get-AutomationCertificate Pobiera certyfikat do użycia w elemecie Runbook.
Get-AutomationPSCredential Pobiera nazwę użytkownika/hasło do użycia w elemecie Runbook.

Uwaga

Należy unikać używania zmiennych w parametrze "Name parametru Get-AutomationPSCredential i Get-AutomationCertificate , ponieważ może to komplikować odnajdywanie zależności między elementami Runbook i zmiennymi automatyzacji.

Tworzenie poświadczeń programu PowerShell w portalu zarządzania

  1. Wybierz obszar roboczy automatyzacji.

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

  3. W dolnej części okna wybierz pozycję Dodaj ustawienie.

  4. Wybierz pozycję Dodaj poświadczenia.

  5. Z listy rozwijanej Typ poświadczeń wybierz pozycję Poświadczenia programu PowerShell.

  6. Wprowadź nazwę poświadczenia w polu Nazwa .

  7. Wybierz strzałkę w prawo.

  8. Wprowadź wartości dla każdej właściwości.

  9. Wybierz znacznik wyboru, aby zapisać poświadczenia.

Tworzenie certyfikatu w narzędziu

Portal zarządzania

  1. Wybierz obszar roboczy automatyzacji.

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

  3. W dolnej części okna wybierz pozycję Dodaj ustawienie.

  4. Wybierz pozycję Dodaj poświadczenia.

  5. Z listy rozwijanej Typ poświadczeń wybierz pozycję Certyfikat.

  6. Wprowadź nazwę certyfikatu w polu Nazwa .

  7. Wybierz strzałkę w prawo.

  8. Wybierz pozycję Przeglądaj w polu Plik i przejdź do pliku .cer lub pfx.

  9. Jeśli wybrano plik PFX, podaj jego hasło.

  10. Wybierz znacznik wyboru, aby zapisać certyfikat.

Tworzenie poświadczeń za pomocą programu PowerShell

Następujące przykładowe polecenia pokazują, jak utworzyć nowe poświadczenie.

$webServer = 'https://MyWebServer'
$port = 9090
$credName = 'MyCredential'
$user = 'contoso\MyUser'
$pwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $user,$pwd

Set-SmaCredential -WebServiceEndpoint $webServer -port $port -Name $credName -Value $cred

Aby utworzyć nowy certyfikat programu PowerShell za pomocą programu Windows PowerShell w programie Service Management Automation

Następujące przykładowe polecenia pokazują, jak utworzyć nowy certyfikat, importując plik certyfikatu.

$webServer = 'https://MyWebServer'
$port = 9090
$certName = 'MyCertificate'
$path = 'c:\certs\MyCertificate.pfx'
$certPwd = ConvertTo-SecureString -String 'P@$$w0rd' -AsPlainText -Force

Set-SmaCertificate -WebServiceEndpoint $webServer -port $port -Name $certName -Path $certPath -Password $certPwd

Używanie poświadczeń programu PowerShell w elemecie Runbook

Poświadczenia programu PowerShell są pobierane w elemecie Runbook za pomocą działania Get-AutomationPSCredential . Spowoduje to zwrócenie obiektu PSCredential, którego można użyć w przepływie pracy.

  • Poniższe przykładowe polecenia pokazują, jak używać poświadczeń programu PowerShell w elemecie Runbook. W tym przykładzie poświadczenie jest używane z działaniem InlineScript w celu uruchomienia zestawu poleceń przy użyciu poświadczeń alternatywnych.

    $myCredential = Get-AutomationPSCredential -Name 'MyCredential'
    InlineScript {
       <Commands>
    } -PSComputerName $ServerName -PSCredential $myCredential
    

Zarządzanie połączeniami SMA

Połączenie automatyzacji zawiera informacje wymagane do nawiązania połączenia z usługą lub aplikacją z elementu Runbook. Te informacje są definiowane w module dla aplikacji i zwykle zawierają takie informacje jak nazwa użytkownika i hasło oraz komputer do nawiązania połączenia. Inne informacje mogą być również wymagane, takie jak certyfikat lub identyfikator subskrypcji. Właściwości połączenia są bezpiecznie przechowywane w bazie danych usługi Automation i mogą być dostępne w elemecie Runbook za pomocą działania Get-AutomationConnection .

Polecenia cmdlet programu Windows PowerShell

Poświadczenia można tworzyć i zarządzać nimi za pomocą poleceń cmdlet programu Windows PowerShell w poniższej tabeli.

Polecenia cmdlet opis
Get-SmaConnection Pobiera wartości dla każdego pola w określonym połączeniu.
Get-SmaConnectionField Pobiera definicje pól dla określonego typu połączenia.
Get-SmaConnectionType Pobiera dostępne typy połączeń.
New-SmaConnection Tworzy nowe połączenie.
Remove-SmaConnection Usuń istniejące połączenie.
Set-SmaConnectionFieldValue Ustawia wartość określonego pola dla istniejącego połączenia.

Działania elementu Runbook

Dostęp do połączeń w elemecie Runbook można uzyskać za pomocą działań w poniższej tabeli.

Działania opis
Get-AutomationConnection Pobiera połączenie do użycia w elemecie Runbook.

Tworzenie połączenia w portalu zarządzania

  1. Wybierz obszar roboczy automatyzacji.

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

  3. W dolnej części okna wybierz pozycję Dodaj ustawienie.

  4. Wybierz pozycję Dodaj połączenie.

  5. Z listy rozwijanej Typ połączenia wybierz typ połączenia.

  6. Wprowadź nazwę połączenia w polu Nazwa .

  7. Wybierz strzałkę w prawo.

  8. Wprowadź wartość dla każdej właściwości.

  9. Wybierz znacznik wyboru, aby zapisać połączenie.

Tworzenie połączenia za pomocą programu Windows PowerShell

Poniższe przykładowe polecenia tworzą nowe połączenie programu Virtual Machine Manager o nazwie MyVMMConnection.

Uwaga

Do zdefiniowania właściwości połączenia używamy tabeli skrótów. Dzieje się tak, ponieważ różne typy połączeń wymagają różnych zestawów właściwości. Połączenie innego typu będzie używać innego zestawu wartości pól.

Aby uzyskać więcej informacji na temat tabel skrótów, zobacz about_Hash_Tables.

$webServer = 'https://MyWebServer'
$port = 9090
$connectionName = 'MyConnection'
$fieldValues = @{"Username"="MyUser";"Password"="password";"ComputerName"="MyComputer"}
New-SmaConnection -WebServiceEndpoint $webServer -port $port -Name $connectionName -ConnectionTypeName "VirtualMachineManager" -ConnectionFieldValues $fieldValues

Używanie połączenia w elemecie Runbook

Użyj działania Get-AutomationConnection, aby użyć połączenia w elemecie Runbook. To działanie pobiera wartości różnych pól w połączeniu i zwraca je jako tabelę skrótów, która następnie może być używana z odpowiednimi poleceniami w elemecie Runbook.

Aby uzyskać więcej informacji na temat tabel skrótów, zobacz about_Hash_Tables.

Poniższy przykładowy kod pokazuje, jak używać połączenia w celu podania nazwy komputera i poświadczeń dla bloku InlineScript , który uruchamia polecenia na innym komputerze.

$con = Get-AutomationConnection -Name 'MyConnection'
$securepassword = ConvertTo-SecureString -AsPlainText -String $con.Password -Force
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $con.Username, $securepassword
InlineScript {
   <Commands>
} -PSComputerName $con.ComputerName -PSCredential $cred

Upraszczanie programowania elementów Runbook za pomocą zmiennych globalnych

Zmienne automatyzacji to wartości, które są dostępne dla wszystkich elementów Runbook. Można tworzyć, modyfikować i pobierać je z portalu zarządzania, programu Windows PowerShell lub z poziomu elementu Runbook. Zmienne automatyzacji są przydatne w następujących scenariuszach:

  • Udostępnianie wartości między wieloma elementami Runbook.

  • Współużytkuj wartość między wieloma zadaniami z tego samego elementu Runbook.

  • Zarządzanie wartością z poziomu portalu zarządzania lub z poziomu wiersza polecenia programu Windows PowerShell używanego przez elementy Runbook.

Zmienne automatyzacji są utrwalane, aby nadal były dostępne nawet wtedy, gdy element Runbook ulegnie awarii. Umożliwia to również ustawienie wartości przez jeden element Runbook, który jest następnie używany przez inny lub jest używany przez ten sam element Runbook przy następnym uruchomieniu.

Po utworzeniu zmiennej należy określić jej typ danych z poniższej listy. Dzięki temu portal zarządzania może wyświetlić odpowiednią kontrolkę dla wartości zmiennej. Do zmiennej można przypisać tylko wartość poprawnego typu.

  • String

  • Liczba całkowita

  • Wartość logiczna

  • Datetime

Po utworzeniu zmiennej można określić, że będzie ona przechowywana jako zaszyfrowana. Gdy zmienna jest szyfrowana, jest przechowywana bezpiecznie w bazie danych SMA, a jej wartość nie może zostać pobrana z polecenia cmdlet Get-SmaVariable . Jedynym sposobem pobrania zaszyfrowanej wartości jest działanie Get-AutomationVariable w elemencie Runbook. Można przechowywać wiele wartości zdefiniowanego typu w jednej zmiennej, tworząc tabelę skrótów.

Polecenia cmdlet programu Windows PowerShell

Zmienne można tworzyć i zarządzać nimi za pomocą poleceń cmdlet programu Windows PowerShell w poniższej tabeli.

Polecenia cmdlet opis
Get-SmaVariable Pobiera wartość istniejącej zmiennej.
Set-SmaVariable Tworzy nową zmienną lub ustawia wartość dla istniejącej zmiennej.

Działania elementu Runbook

Zmienne w elemecie Runbook można uzyskać za pomocą działań w poniższej tabeli.

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 get-AutomationVariable", ponieważ może to komplikować odnajdywanie zależności między elementami Runbook i zmiennymi automatyzacji.

Tworzenie nowej zmiennej w portalu zarządzania

  1. Wybierz obszar roboczy automatyzacji.

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

  3. W dolnej części okna wybierz pozycję Dodaj ustawienie.

  4. Wybierz pozycję Dodaj zmienną.

  5. Na liście rozwijanej Typ wybierz typ danych.

  6. Wprowadź nazwę zmiennej w polu Nazwa .

  7. Wybierz strzałkę w prawo.

  8. Wprowadź wartość zmiennej i określ, czy chcesz ją zaszyfrować.

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

Aby utworzyć nową zmienną za pomocą programu Windows PowerShell

Polecenie cmdlet Set-SmaVariable tworzy nową zmienną i ustawia wartość dla istniejącej zmiennej. Poniższe przykładowe polecenia pokazują, jak utworzyć zmienną typu ciąg.

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

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

Używanie zmiennej w elemecie Runbook

  • Poniższy przykładowy kod przedstawia sposób ustawiania i pobierania zmiennej w elemecie Runbook. W tym przykładzie przyjęto założenie, że zostały już utworzone zmienne typu liczba całkowita o nazwie NumberOfIterations i NumberOfRunnings oraz zmienna ciągu typu o nazwie SampleMessage.

    $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 (NumberOfRunnings += 1)
    

Następne kroki