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
Wybierz obszar roboczy automatyzacji.
W górnej części okna wybierz pozycję Zasoby.
W dolnej części okna wybierz pozycję Dodaj ustawienie.
Wybierz pozycję Dodaj poświadczenia.
Z listy rozwijanej Typ poświadczeń wybierz pozycję Poświadczenia programu PowerShell.
Wprowadź nazwę poświadczenia w polu Nazwa .
Wybierz strzałkę w prawo.
Wprowadź wartości dla każdej właściwości.
Wybierz znacznik wyboru, aby zapisać poświadczenia.
Tworzenie certyfikatu w narzędziu
Portal zarządzania
Wybierz obszar roboczy automatyzacji.
W górnej części okna wybierz pozycję Zasoby.
W dolnej części okna wybierz pozycję Dodaj ustawienie.
Wybierz pozycję Dodaj poświadczenia.
Z listy rozwijanej Typ poświadczeń wybierz pozycję Certyfikat.
Wprowadź nazwę certyfikatu w polu Nazwa .
Wybierz strzałkę w prawo.
Wybierz pozycję Przeglądaj w polu Plik i przejdź do pliku .cer lub pfx.
Jeśli wybrano plik PFX, podaj jego hasło.
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
Wybierz obszar roboczy automatyzacji.
W górnej części okna wybierz pozycję Zasoby.
W dolnej części okna wybierz pozycję Dodaj ustawienie.
Wybierz pozycję Dodaj połączenie.
Z listy rozwijanej Typ połączenia wybierz typ połączenia.
Wprowadź nazwę połączenia w polu Nazwa .
Wybierz strzałkę w prawo.
Wprowadź wartość dla każdej właściwości.
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
Wybierz obszar roboczy automatyzacji.
W górnej części okna wybierz pozycję Zasoby.
W dolnej części okna wybierz pozycję Dodaj ustawienie.
Wybierz pozycję Dodaj zmienną.
Na liście rozwijanej Typ wybierz typ danych.
Wprowadź nazwę zmiennej w polu Nazwa .
Wybierz strzałkę w prawo.
Wprowadź wartość zmiennej i określ, czy chcesz ją zaszyfrować.
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
- Przeczytaj o tworzeniu modułu integracji.
- Przeczytaj o tworzeniu elementów Runbook automatyzacji.