Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A legtöbb Azure Automation-runbook valamilyen kimenettel rendelkezik. Ez a kimenet lehet egy hibaüzenet a felhasználónak, vagy egy összetett objektum, amelyet egy másik runbookhoz kíván használni. A Windows PowerShell több streamet biztosít a kimenet parancsfájlból vagy munkafolyamatból való küldéséhez. Az Azure Automation az egyes streamekkel eltérően működik. Runbook létrehozásakor ajánlott eljárásokat kell követnie a streamek használatához.
Az alábbi táblázat röviden ismerteti az egyes streamek viselkedését az Azure Portalon közzétett runbookok esetében és egy runbook tesztelése során. A kimeneti stream a runbookok közötti kommunikáció fő adatfolyama. A többi stream üzenetstreamekként van besorolva, amelyek a felhasználóval való információátadásra szolgálnak.
| Stream | Leírás | Közzétett | Teszt |
|---|---|---|---|
| Hiba | A felhasználónak szánt hibaüzenet. Kivételtől eltérően a runbook alapértelmezés szerint egy hibaüzenet után is folytatódik. | Feladatelőzményekbe írva | Megjelenik a Tesztkimenet panelen |
| Hibakeresés | Interaktív felhasználónak szánt üzenetek. Runbookokban nem használható. | Nincs megírva a feladatelőzményekbe | Nem jelenik meg a Tesztkimenet panelen |
| Hozam | Más runbookok által használni kívánt objektumok. | Feladatelőzményekbe írva | Megjelenik a Tesztkimenet panelen |
| Előrehaladás | A runbook minden egyes tevékenysége előtt és után automatikusan létrehozott rekordok. A runbooknak nem szabad saját folyamatrekordokat létrehoznia, mivel interaktív felhasználónak szánták őket. | Csak akkor írható a feladatelőzményekbe, ha a runbook állapotnaplózása be van kapcsolva | Nem jelenik meg a Tesztkimenet panelen |
| Részletezés | Általános vagy hibakeresési információkat tartalmazó üzenetek. | Csak akkor írható a feladatelőzményekbe, ha a részletes naplózás be van kapcsolva a runbookhoz | Csak akkor jelenik meg a Tesztkimenet panelen, ha VerbosePreference a változó a Continue (Folytatás) értékre van állítva a runbookban |
| Figyelmeztetés | A felhasználónak szánt figyelmeztető üzenet. | Feladatelőzményekbe írva | Megjelenik a Tesztkimenet panelen |
A kimeneti stream használata
A kimeneti adatfolyam a szkript vagy munkafolyamat által létrehozott objektumok kimenetére szolgál, amikor az megfelelően fut. Az Azure Automation elsősorban ezt a streamet használja az aktuális runbookot meghívó szülő runbookok által felhasznált objektumokhoz. Amikor egy szülő beágyazott runbookot hív meg, a gyermek adatokat ad vissza a kimeneti adatfolyamból a szülőnek.
A runbook a kimeneti stream használatával csak akkor küld általános információkat az ügyfélnek, ha egy másik runbook soha nem hívja meg. Ajánlott eljárás azonban, hogy a runbookoknak általában a részletes streamet kell használniuk, hogy általános információkat közöljenek a felhasználóval.
A runbook írási adatait a kimeneti adatfolyamba írja a Write-Output használatával. Azt is megteheti, hogy az objektumot a saját sorába helyezi a szkriptben.
#The following lines both write an object to the output stream.
Write-Output -InputObject $object
$object
Függvény kimenetének kezelése
Amikor egy runbookfüggvény ír a kimeneti streambe, a kimenet vissza lesz adva a runbooknak. Ha a runbook ezt a kimenetet egy változóhoz rendeli, a kimenet nem a kimeneti adatfolyamba lesz írva. A függvényen belüli bármely más streambe való írás a runbook megfelelő streamjéhez ír. Tekintse meg az alábbi PowerShell-munkafolyamat-forgatókönyvet.
Workflow Test-Runbook
{
Write-Verbose "Verbose outside of function" -Verbose
Write-Output "Output outside of function"
$functionOutput = Test-Function
$functionOutput
Function Test-Function
{
Write-Verbose "Verbose inside of function" -Verbose
Write-Output "Output inside of function"
}
}
A runbook-feladat kimeneti streamje a következő:
Output inside of function
Output outside of function
A runbook-feladat részletes streamje a következő:
Verbose outside of function
Verbose inside of function
Miután közzétette a runbookot, és mielőtt elkezdené, a részletes naplózást is be kell kapcsolnia a runbook beállításai között a részletes stream kimenetének lekéréséhez.
Kimeneti adattípus deklarálása
Az alábbi példák a kimeneti adattípusokra mutatnak be példákat:
System.StringSystem.Int32System.Collections.HashtableMicrosoft.Azure.Commands.Compute.Models.PSVirtualMachine
Kimeneti adattípus deklarálása munkafolyamatban
A munkafolyamat a kimenet adattípusát adja meg az OutputType attribútummal. Ez az attribútum futásidőben nincs hatással, de a runbook várható kimenetének tervezési idején jelzi. A runbookokhoz készült eszközkészlet folyamatosan fejlődik, a kimeneti adattípusok tervezéskor történő deklarálásának fontossága nő. Ezért ajánlott ezt a deklarációt minden létrehozott runbookba belefoglalni.
Az alábbi minta runbook egy sztringobjektumot ad ki, és tartalmaz egy deklarációt a kimenet típusáról. Ha a runbook egy bizonyos típusú tömböt ad ki, akkor is meg kell adnia a típust a típus tömbje helyett.
Workflow Test-Runbook
{
[OutputType([string])]
$output = "This is some string output."
Write-Output $output
}
Kimeneti adattípus deklarálása grafikus runbookban
Ha grafikus vagy grafikus PowerShell-munkafolyamat-forgatókönyvben szeretne kimeneti típust deklarálni, válassza a Bemenet és kimenet menüt, és adja meg a kimeneti típust. Javasoljuk, hogy a teljes .NET-osztálynévvel könnyen azonosíthatóvá tegye a típust, amikor egy szülő runbook hivatkozik rá. A teljes név használata az osztály összes tulajdonságát elérhetővé teszi a runbook adatbuszának, és növeli a rugalmasságot, ha a tulajdonságokat feltételes logika, naplózás és más runbook-tevékenységek értékeiként használják.

Feljegyzés
Miután beírt egy értéket a Kimenet típusa mezőbe a Bemeneti és kimeneti tulajdonságok panelen, mindenképpen kattintson a vezérlőn kívülre, hogy felismerje a bejegyzést.
Az alábbi példa két grafikus runbookot mutat be a Bemeneti és kimeneti funkció bemutatásához. A moduláris runbook-tervezési modell alkalmazásakor egy runbookot használ a hitelesített runbook-sablonként, amely felügyelt identitásokkal kezeli a hitelesítést az Azure-ral. A második runbook, amely általában alapvető logikát hajt végre egy adott forgatókönyv automatizálásához, ebben az esetben végrehajtja a Runbook-sablon hitelesítését. Megjeleníti az eredményeket a Tesztkimenet panelen. Normál körülmények között ezt a runbookot a gyermek runbook kimenetét kihasználó erőforráson kellene elvégeznie.
Íme a AuthenticateTo-Azure runbook alapvető logikája.
.
A runbook tartalmazza a kimeneti típust Microsoft.Azure.Commands.Profile.Models.PSAzureProfile, amely a hitelesítési profil tulajdonságait adja vissza.

Bár ez a runbook egyszerű, itt egy konfigurációs elem hívható fel. Az utolsó tevékenység végrehajtja a parancsmagot, Write-Output hogy profiladatokat írjon egy változóba a Inputobject paraméterHez tartozó PowerShell-kifejezés használatával. Ez a paraméter a következőhöz Write-Outputszükséges: .
A példában szereplő második runbook, a Test-ChildOutputType egyszerűen két tevékenységet határoz meg.

Az első tevékenység meghívja a AuthenticateTo-Azure runbookot. A második tevékenység tevékenységkimenetre Write-Verboseállítja az adatforrást tartalmazó parancsmagot. Emellett a mezőútvonal Context.Subscription.Name értékre van állítva, amely a AuthenticateTo-Azure runbook környezeti kimenete.
Az eredmény az előfizetés neve.

Üzenetstreamek használata
A kimeneti adatfolyamtól eltérően az üzenetstreamek információkat közölnek a felhasználóval. A különböző típusú információkhoz több üzenetstream is tartozik, az Azure Automation pedig másként kezeli az egyes streameket.
Kimenet írása figyelmeztetésekhez és hibastreamekhez
A figyelmeztetés és a hiba streameli a runbookban előforduló naplóproblémákat. Az Azure Automation ezeket a streameket a feladatelőzményekbe írja egy runbook végrehajtásakor. Az Automation a runbookok tesztelésekor az Azure Portal Tesztkimenet paneljén található streameket is tartalmazza.
Alapértelmezés szerint a runbookok figyelmeztetés vagy hiba után is futnak. Az üzenet létrehozása előtt megadhatja, hogy a runbook figyelmeztetéssel vagy hibával függesztsen fel egy beállításváltozót . Ha például azt szeretné, hogy a runbook egy kivételhez hasonlóan egy hiba miatt felfüggessze a forgatókönyvet, állítsa a ErrorActionPreference változót Stop értékre.
Hozzon létre egy figyelmeztetést vagy hibaüzenetet a Write-Warning vagy a Write-Error parancsmag használatával. A tevékenységek a figyelmeztetési és hibastreamekbe is írhatnak.
#The following lines create a warning message and then an error message that will suspend the runbook.
$ErrorActionPreference = "Stop"
Write-Warning -Message "This is a warning message."
Write-Error -Message "This is an error message that will stop the runbook because of the preference variable."
Kimenet írása stream hibakereséséhez
Az Azure Automation a hibakeresési üzenetstreamet használja interaktív felhasználók számára. Az Azure Automation alapértelmezés szerint nem rögzíti a hibakeresési streamadatokat, csak a kimenetet, a hibát és a figyelmeztető adatokat rögzíti, valamint részletes adatokat, ha a runbookot úgy konfigurálták, hogy rögzítse őket.
A hibakeresési streamadatok rögzítéséhez két műveletet kell végrehajtania a runbookokban:
Állítsa be a változót
$GLOBAL:DebugPreference="Continue", amely azt jelzi, hogy a PowerShell folytassa a hibakeresési üzeneteket. A $GLOBAL: rész arra utasítja a PowerShellt, hogy ezt a globális hatókörben végezze el, nem pedig azt, hogy a szkript melyik helyi hatókörben van az utasítás végrehajtásakor.A nem rögzített hibakeresési stream átirányítása olyan streamre, amelyet rögzítünk, például kimenet. Ez úgy történik, hogy a PowerShell-átirányítást a végrehajtandó utasításhoz állítja. A PowerShell-átirányítással kapcsolatos további információkért lásd az átirányításról szóló témakört.
Példák
Ebben a példában a runbook a parancsmagok és Write-Debug parancsmagok Write-Output használatával van konfigurálva azzal a céllal, hogy két különböző streamet állítsunk ki.
Write-Output "This is an output message."
Write-Debug "This is a debug message."
Ha a runbookot a következőképpen kellene végrehajtani, a runbook-feladat kimeneti panelje a következő kimenetet streamelné:
This is an output message.
Ebben a példában a runbook az előző példához hasonlóan van konfigurálva, kivéve, hogy az 5>&1 utasítás $GLOBAL:DebugPreference="Continue" az utasítás végén Write-Debug szerepel.
Write-Output "This is an output message."
$GLOBAL:DebugPreference="Continue"
Write-Debug "This is a debug message." 5>&1
A runbook végrehajtásakor a runbook-feladat kimeneti panelje a következő kimenetet streameli:
This is an output message.
This is a debug message.
Ez azért fordul elő, mert az utasítás arra utasítja a $GLOBAL:DebugPreference="Continue" PowerShellt, hogy hibakeresési 5>&1 üzeneteket jelenítsen meg, és az utasítás végének hozzáadása arra utasítja a Write-Debug PowerShellt, hogy átirányítsa a stream 5-öt (hibakeresést) az 1. streamre (kimenet).
Kimenet írása részletes streambe
A részletes üzenetstream támogatja a runbookművelettel kapcsolatos általános információkat. Mivel a hibakeresési stream nem érhető el runbookokhoz, a runbooknak részletes üzeneteket kell használnia a hibakeresési információkhoz.
A feladatelőzmények alapértelmezés szerint teljesítménybeli okokból nem tárolják a közzétett runbookokból származó részletes üzeneteket. Részletes üzenetek tárolásához használja az Azure Portal Konfigurálás lapját a Log Verbose Records beállítással a közzétett runbookok részletes üzenetek naplózására való konfigurálásához. Ezt a beállítást csak runbook hibaelhárításához vagy hibakereséséhez kapcsolja be. A legtöbb esetben meg kell őriznie az alapértelmezett beállítást, hogy ne naplózzon részletes rekordokat.
Runbook tesztelésekor a részletes üzenetek akkor sem jelennek meg, ha a runbook részletes rekordok naplózására van konfigurálva. Ha részletes üzeneteket szeretne megjeleníteni egy runbook tesztelése során, a változót VerbosePreference Continue (Folytatás) értékre kell állítania. Ezzel a változókészlettel részletes üzenetek jelennek meg az Azure Portal tesztkimeneti paneljén.
Az alábbi kód részletes üzenetet hoz létre a Write-Verbose parancsmag használatával.
#The following line creates a verbose message.
Write-Verbose -Message "This is a verbose message."
Folyamatrekordok kezelése
Az Azure Portal Konfigurálás lapján konfigurálhat egy runbookot az állapotrekordok naplózásához. Az alapértelmezett beállítás a rekordok naplózásának tiltása a teljesítmény maximalizálása érdekében. A legtöbb esetben meg kell tartania az alapértelmezett beállítást. Ezt a beállítást csak runbook hibaelhárításához vagy hibakereséséhez kapcsolja be.
Ha engedélyezi a folyamatrekordok naplózását, a runbook egy rekordot ír a feladatelőzményekbe az egyes tevékenységek futtatása előtt és után. A runbook tesztelése akkor sem jeleníti meg a folyamatjelző üzeneteket, ha a runbook konfigurálva van az állapotrekordok naplózására.
Feljegyzés
A Write-Progress parancsmag nem érvényes egy runbookban, mivel ez a parancsmag interaktív felhasználóval való használatra készült.
Beállításváltozók használata
A runbookokban beállíthat bizonyos Windows PowerShell-beállítási változókat a különböző kimeneti streamekbe küldött adatokra adott válasz szabályozásához. Az alábbi táblázat a runbookokban használható beállításváltozókat sorolja fel az alapértelmezett és érvényes értékekkel. További értékek érhetők el a beállítási változókhoz, ha a Windows PowerShellben az Azure Automationen kívül használják.
| Változó | Alapértelmezett érték | Érvényes értékek |
|---|---|---|
WarningPreference |
Folytatás | Leállítás Folytatás SilentlyContinue |
ErrorActionPreference |
Folytatás | Leállítás Folytatás SilentlyContinue |
VerbosePreference |
SilentlyContinue | Leállítás Folytatás SilentlyContinue |
A következő táblázat a runbookokban érvényes beállításváltozó-értékek viselkedését sorolja fel.
| Érték | Működés |
|---|---|
| Folytatás | Naplózza az üzenetet, és folytatja a runbook végrehajtását. |
| SilentlyContinue | Az üzenet naplózása nélkül folytatja a runbook végrehajtását. Ennek az értéknek az az hatása, hogy figyelmen kívül hagyja az üzenetet. |
| Leállítás | Naplózza az üzenetet, és felfüggeszti a runbookot. |
Runbook-kimenet és üzenetek lekérése
Runbook kimenetének és üzeneteinek lekérése az Azure Portalon
A runbook-feladatok részleteit az Azure Portalon tekintheti meg a runbook Feladatok lapján. A feladat összegzése a bemeneti paramétereket és a kimeneti adatfolyamot jeleníti meg, a feladatra vonatkozó általános információk és a bekövetkezett kivételek mellett. A feladatelőzmények tartalmazzák a kimeneti streamből származó üzeneteket, valamint a figyelmeztető és hibastreameket. A részletes streamből és a folyamatrekordokból származó üzeneteket is tartalmaz, ha a runbook részletes és folyamatrekordok naplózására van konfigurálva.
Feljegyzés
A Python-runbookok feladatstreamjei jelenleg az angol nyelvű kimenethez támogatottak.
Runbook kimenetének és üzeneteinek lekérése a Windows PowerShellben
A Windows PowerShellben a Get-AzAutomationJobOutput parancsmaggal lekérheti a kimenetet és az üzeneteket egy runbookból. Ez a parancsmag megköveteli a feladat azonosítóját, és egy paramétert hív meg Stream , amelyben meg kell adnia a lekérni kívánt streamet. A paraméter bármely értékének megadásával lekérheti a feladat összes streamét.
Az alábbi példa elindít egy minta runbookot, majd megvárja, amíg befejeződik. A runbook végrehajtása után a szkript összegyűjti a runbook kimeneti adatfolyamát a feladatból.
$job = Start-AzAutomationRunbook -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Name "Test-Runbook"
$doLoop = $true
While ($doLoop) {
$job = Get-AzAutomationJob -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Id $job.JobId
$status = $job.Status
$doLoop = (($status -ne "Completed") -and ($status -ne "Failed") -and ($status -ne "Suspended") -and ($status -ne "Stopped"))
}
Get-AzAutomationJobOutput -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Id $job.JobId -Stream Output
# For more detailed job output, pipe the output of Get-AzAutomationJobOutput to Get-AzAutomationJobOutputRecord
Get-AzAutomationJobOutput -ResourceGroupName "ResourceGroup01" `
-AutomationAccountName "MyAutomationAccount" -Id $job.JobId -Stream Any | Get-AzAutomationJobOutputRecord
Runbook kimenetének és üzeneteinek lekérése grafikus runbookokban
Grafikus runbookok esetén a kimenetek és üzenetek további naplózása tevékenységszintű nyomkövetés formájában érhető el. A nyomkövetésnek két szintje van: alapszintű és részletes. Az alapszintű nyomkövetés megjeleníti a runbook minden egyes tevékenységének kezdési és befejezési idejét, valamint az újrapróbálkozási tevékenységekkel kapcsolatos információkat. Ilyen például a kísérletek száma és a tevékenység kezdési időpontja. A részletes nyomkövetés alapvető nyomkövetési funkciókat tartalmaz, valamint az egyes tevékenységek bemeneti és kimeneti adatainak naplózását.
A tevékenységszintű nyomkövetés jelenleg a részletes adatfolyam használatával ír rekordokat. Ezért a nyomkövetés engedélyezésekor engedélyeznie kell a részletes naplózást. A nyomkövetést engedélyező grafikus runbookok esetében nem szükséges naplózni az előrehaladási rekordokat. Az alapszintű nyomkövetés ugyanazt a célt szolgálja, és informatívabb.

A képen látható, hogy a részletes naplózás és a grafikus runbookok nyomkövetésének engedélyezése sokkal több információt tesz elérhetővé az éles feladatstreamek nézetben. Ezek a további információk nélkülözhetetlenek lehetnek a runbook éles problémáinak elhárításához.
Ha azonban nem szeretné, hogy ezek az információk nyomon követjék a runbookok hibaelhárítási folyamatát, érdemes lehet általános gyakorlatként kikapcsolni a nyomkövetést. A nyomkövetési rekordok különösen sokak lehetnek. A grafikus runbook-nyomkövetéssel tevékenységenként két-négy rekordot kaphat az alapszintű vagy részletes nyomkövetés konfigurációjától függően.
Tevékenységszintű nyomkövetés engedélyezése:
Az Azure Portalon nyissa meg az Automation-fiókját.
Válassza a Runbookok lehetőséget a Folyamatautomatizálás területen a runbookok listájának megnyitásához.
A Runbookok lapon válasszon ki egy grafikus runbookot a runbookok listájából.
A Beállítások területen kattintson a Naplózás és nyomkövetés elemre.
A Naplózás és nyomon követés lapon, a Részletes rekordok naplózása csoportban kattintson a Be gombra a részletes naplózás engedélyezéséhez.
A tevékenységszintű nyomkövetés alatt módosítsa a nyomkövetési szintet alapszintűre vagy részletesre a szükséges nyomkövetési szint alapján.

Runbook kimenetének és üzeneteinek lekérése a Microsoft Azure Monitor naplóiban
Az Azure Automation runbook-feladatállapotokat és feladatstreameket küldhet a Log Analytics-munkaterületre. Az Azure Monitor olyan naplókat támogat, amelyek lehetővé teszik a következőket:
- Információk szerzése az Automation-feladatokról.
- Aktiváljon egy e-mailt vagy riasztást a runbook-feladat állapota alapján, például sikertelen vagy felfüggesztett.
- Speciális lekérdezések írása feladatstreamek között.
- Feladatok korrelációjának megállapítása több Automation-fiókra kiterjedően.
- Feladatelőzmények megjelenítése.
További információ az Azure Monitor-naplókkal való integrációnak a feladatadatok gyűjtéséhez, korrelálásához és kezeléséhez való konfigurálásáról: Feladatállapot és feladatstreamek továbbítása az Automationből az Azure Monitor-naplókba.
Következő lépések
- Minta lekérdezésekért tekintse meg a feladatnaplók és a feladatstreamek minta lekérdezéseit
- A runbookok használatához lásd : Runbookok kezelése az Azure Automationben.
- Ha nem ismeri a PowerShell-szkriptelést, tekintse meg a PowerShell dokumentációját.
- Az Azure Automation PowerShell-parancsmagjának referenciája: Az.Automation.
