Uruchamianie elementu Runbook
Dotyczy: Windows Azure Pack for Windows Server
Element Runbook można uruchomić w programie Automatyzacja zarzÄ…dzania usÅ‚ugami przy użyciu jednej z następujących trzech metod.
Portal zarządzania
PowerShell
Pierwsze dwie metody są opisane poniżej. Uruchamianie elementu Runbook z innego elementu Runbook jest opisane w temacie Uruchamianie elementu Runbook z innego elementu Runbook.
Aby uruchomić element Runbook za pomocą portalu zarządzania pakietu Windows Azure Pack
W Portalu zarządzania wybierz w lewym okienku opcję Automatyzacja.
Wybierz kartę Elementy Runbook.
Wybierz element Runbook, a następnie kliknij przycisk Uruchom.
Jeśli element Runbook ma parametry, zostanie wyświetlone okno dialogowe, w którym będzie można wprowadzić wartość każdego z nich. Parametry opisujące wyrażenie logiczne i daty/godziny mają specjalne selektory zamiast standardowego pola tekstowego. Poniższa sekcja Parametry elementu Runbook zawiera bardziej szczegółowe informacje o parametrach.
Wybierz opcję Wyświetl zadanie obok komunikatu Uruchomienie elementu Runbook lub wybierz kartę Zadania dla elementu Runbook w celu wyświetlenia stanu zadania.
Aby uruchomić element Runbook za pomocą programu Windows PowerShell
Polecenie cmdlet Publish-SmaRunbook służy do uruchamiania elementu Runbook w środowisku Windows PowerShell. Następujący przykładowy kod uruchamia element Runbook o nazwie Test-Runbook.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
Start-SmaRunbook –WebServiceEndpoint $webServer –Port $port –Name $runbookName
Polecenie cmdlet SmaRunbook zwraca obiekt zadania, za pomocą którego można śledzić jego stan po uruchomieniu elementu Runbook. Ten obiekt zadania może następnie zostać wykorzystany wraz z poleceniem Get-SmaJob do określenia stanu zadania, zaś z poleceniem Get-SmaJobOutput do uzyskania danych wyjściowych. Następujący przykładowy kod uruchamia element Runbook o nazwie Test-Runbook, czeka, dopóki praca nie zostanie zakończona, a następnie wyświetla dane wyjściowe.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$job = Start-SmaRunbook –WebServiceEndpoint $webServer –Port $port –Name $runbookName
$doLoop = $true
While ($doLoop) {
$job = Get-SmaJob –WebServiceEndpoint $webServer –Port $port -Id $job.Id
$status = $job.Status
$doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped")
}
Get-SmaJobOutput –WebServiceEndpoint $webServer –Port $port -Id $job.Id –Stream Output
Jeśli element Runbook wymaga parametrów, należy podać je jako tablicę skrótów, gdzie klucz tablicy skrótów odpowiada nazwie parametru, a wartość jest wartością parametru. Poniższy przykład przedstawia sposób uruchamiania elementu Runbook z dwoma parametrami będącymi ciągami o nazwie FirstName i LastName, liczbą całkowitą o nazwie RepeatCount i parametrem logicznym o nazwie Show. Aby uzyskać dodatkowe informacje dotyczące parametrów, zobacz Parametry elementu Runbook poniżej.
$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$params = @{"FirstName"="Joe";"LastName"="Smith";"RepeatCount"=2;"Show"=$true}
Start-SmaRunbook –WebServiceEndpoint $webServer –Port $port –Name $runbookName –Parameters $params
Parametry elementu Runbook
Parametry są wartościami wymaganymi przy uruchamianiu elementu Runbook. Na przykład element Runbook tworzący nową maszynę wirtualną powinien mieć parametr określający nazwę komputera. Jeśli parametr jest obowiązkowy, należy podać jego wartość przy uruchamianiu elementu Runbook. Jeśli parametr nie jest wymagany, można podać jego wartość, ale nie jest to konieczne.
Po ponownym uruchomieniu elementu Runbook za pomocą Portalu zarządzania lub programu Windows PowerShell instrukcja jest wysyłana za pośrednictwem usługi sieci Web automatyzacji. Ta usługa nie obsługuje parametrów o złożonych typach danych. Aby podać wartość parametru złożonego, należy wywołać go z wnętrza innego elementu Runbook, co opisano w temacie Uruchamianie elementu Runbook z innego elementu Runbook.
Usługa sieci Web automatyzacji zawiera specjalne funkcje dotyczące parametrów używających określonych typów danych, zgodnie z opisem w poniższych sekcjach.
Nazwane wartości
Jeśli parametr jest typem danych [object], wówczas można użyć następującego formatu JSON w celu wysłania listy nazwanych wartości: {"Nazwa1": Wartość1, "Nazwa2": Wartość2, "Nazwa3": Wartość3}. Te wartości muszą być typu prostego. Element Runbook zostanie wyświetlony jako parametr PSCustomObject z właściwościami, które odpowiadają każdej nazwanej wartości.
Rozważmy następujący tekstowy element Runbook, który akceptuje parametr o nazwie user.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][object]$user
)
if ($user.Show) {
foreach ($i in 1..$user.RepeatCount) {
$user.FirstName
$user.LastName
}
}
}
Poniższy tekst może zostać użyty dla parametru user.
{"FirstName":"Joe","LastName":"Smith","RepeatCount":2,"Show":true}
Wynikiem są następujące dane wyjściowe.
Joe
Smith
Joe
Smith
Tablice
Jeśli parametr jest tablicą, taką jak [array] lub [string[]], wówczas można użyć następującego formatu JSON do wysłania listy wartości: [Wartość1,Wartość2,Wartość3]. Te wartości muszą być typu prostego.
Rozważmy następujący tekstowy element Runbook, który akceptuje parametr o nazwie user.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][array]$user
)
if ($user[3]) {
foreach ($i in 1..$user[2]) {
$ user[0]
$ user[1]
}
}
}
Poniższy tekst może zostać użyty dla parametru user.
["Joe","Smith",2,true]
Wynikiem są następujące dane wyjściowe.
Joe
Smith
Joe
Smith
Poświadczenia
Jeśli parametr jest typu danych [PSCredential], wówczas można podać nazwę zasobów poświadczeń programu Automatyzacja zarzÄ…dzania usÅ‚ugami. Element Runbook pobierze zasób poświadczeń o podanej przez użytkownika nazwie.
Rozważmy następujący tekstowy element Runbook, który akceptuje parametr o nazwie credential.
Workflow Test-Parameters
{
param (
[Parameter(Mandatory=$true)][PSCredential]$credential
)
$credential.UserName
}
Następujący tekst może znaleźć zastosowanie jako parametr użytkownika przy założeniu, że wystąpił zasób poświadczeń o nazwie „MyCredential”.
MyCredential
Jeśli założymy, że nazwą użytkownika w poświadczeniu było jsmith, wynikiem są następujące dane wyjściowe.
jsmith
Zobacz też
Struktura Service Management Automation
Operacje elementu Runbook (stare) [SMA]
Uruchamianie elementu Runbook z innego elementu Runbook