Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zasoby globalne są dostępne dla wszystkich runbooków w środowisku 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 podręcznika 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 runbookach w usłudze Service Management Automation, ale zaleca się korzystać z działań, gdyż są bardziej wydajne, nie wymagając działania 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 elemencie runbook za pomocą działań 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 Cmdlets | opis |
---|---|
Get-SmaCertificate | Pobiera certyfikat automatyzacji. |
Get-SmaCredential | Pobiera poświadczenia PowerShell dla usługi Automation. |
Remove-SmaCertificate - Usuń certyfikat SMA | Usuwa certyfikat automatyzacji. |
Remove-SmaCredential | Usuwa poświadczenia programu PowerShell dla 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 | Stworzenie nowego poświadczenia Automation PowerShell lub ustawienie właściwości dla istniejącego poświadczenia. |
Program PowerShell do pracy z poświadczeniami
Aby uzyskać dostęp do poświadczeń w elemencie runbook, możesz użyć działań w poniższej tabeli.
Działania | opis |
---|---|
Get-AutomationCertificate (Pobierz certyfikat automatyzacji) | Uzyskuje certyfikat do wykorzystania w Runbooku. |
Get-AutomationPSCredential | Pobiera nazwę użytkownika/hasło do użycia w runbooku. |
Uwaga
Należy unikać używania zmiennych w parametrze „Name” w Get-AutomationPSCredential i Get-AutomationCertificate, ponieważ może to komplikować odnajdywanie zależności między runbookami a 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 zaznaczenie, aby zapisać poświadczenie.
Utwórz certyfikat 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 dla pliku 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 elemencie Runbook
Poświadczenia programu PowerShell są pobierane w runbooku za pomocą aktywności 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 Runbooku. 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 runbooka. 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 .
Cmdlety programu Windows PowerShell
Poświadczenia można tworzyć i zarządzać nimi za pomocą poleceń cmdlet programu Windows PowerShell w poniższej tabeli.
Polecenia Cmdlets | 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 Runbook
Dostęp do połączeń w elemencie runbook można uzyskać za pomocą działań w poniższej tabeli.
Działania | opis |
---|---|
Get-AutomationConnection | Pobiera połączenie do użycia w runbooku. |
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 elemencie 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ć wykorzystywana z odpowiednimi poleceniami w runbooku.
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 zautomatyzowanego procesu to wartości dostępne dla wszystkich Runbooków. 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.
Udostępnij wartość między wieloma zadaniami z tego samego runbooka.
Zarządzaj wartością z poziomu portalu zarządzania lub wiersza polecenia programu Windows PowerShell, używanego przez runbooki.
Zmienne automatyzacji są utrwalane, aby nadal były dostępne nawet wtedy, gdy 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.
Sznurek
Liczba całkowita
Typ logiczny
Data i czas
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 na pobranie zaszyfrowanej wartości jest aktywność Get-AutomationVariable w runbooku. Można przechowywać wiele wartości zdefiniowanego typu w jednej zmiennej, tworząc tabelę skrótów.
Cmdlety programu Windows PowerShell
Zmienne można tworzyć i zarządzać nimi za pomocą poleceń cmdlet programu Windows PowerShell w poniższej tabeli.
Polecenia Cmdlets | opis |
---|---|
Get-SmaVariable | Pobiera wartość istniejącej zmiennej. |
Set-SmaVariable | Tworzy nową zmienną lub ustawia wartość dla istniejącej zmiennej. |
Działania Runbook
Do zmiennych w runbooku można uzyskać dostęp za pomocą działań z poniższej tabeli.
Działania | opis |
---|---|
Get-AutomationVariable | Pobiera wartość istniejącej zmiennej. |
Ustaw-ZmiennąAutomatyzacji | 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 runbookami a 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 elemencie Runbook
Poniższy przykładowy kod przedstawia, jak ustawić i pobrać zmienną w elemencie 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 runbooków do automatyzacji.