Runbookkal kapcsolatos hibák elhárítása
Ez a cikk az esetlegesen előforduló runbook-problémákat és azok megoldását ismerteti. Általános információkért lásd : Runbook-végrehajtás az Azure Automationben.
A továbbiakban nem lehet parancsmagokat használni az importált nem alapértelmezett modulokból grafikus PowerShell-runbookokban
Probléma
PowerShell-modul importálásakor nem fogja tudni használni a parancsmagjait grafikus PowerShell-runbookokban.
Ok
A PowerShell-runbookok biztonsági helyzetének javítása érdekében a szolgáltatás már nem dolgozza fel a modul jegyzékfájlját a parancsmagok és függvények exportálásához. Ez azt jelenti, hogy nem használhatók grafikus PowerShell-runbookok készítésekor.
Resolution (Osztás)
Nincs hatással a meglévő runbookok végrehajtására. A nem alapértelmezett PowerShell-modulokat használó új runbookok esetében javasoljuk, hogy grafikus PowerShell-runbookok helyett szöveges runbookokat használjanak a probléma megoldásához. A VScode-hoz készült Azure Automation-bővítményt PowerShell-runbookok készítéséhez és szerkesztéséhez használhatja, amely a GitHub Copilot használatával egyszerűsíti a runbookok készítését.
A Start-AzAutomationRunbook "RunbookName nem egyezik a várt mintával" hibaüzenettel meghiúsul
Probléma
Adott Start-AzAutomationRunbook
runbookok indításakor:
start-azautomationRunbook -Name "Test_2" -AutomationAccountName "AutomationParent" -ResourceGroupName "AutomationAccount"
A következő hibával meghiúsul:
Start-AzAutomationRunbook: "runbookname" does not match expected pattern '^[a-zA-Z]*-*[a-zA-Z0-9]*$'
Ok
Az Az.Automation modul 1.9.0-s verziójában bevezetett kód ellenőrzi a runbookok indítását, és helytelenül jelöli a több "-" karaktert tartalmazó vagy a névben "_" karakterrel rendelkező runbookokat érvénytelenként.
Áthidaló megoldás
Javasoljuk, hogy térjen vissza a modul 1.8.0-s verziójára .
Resolution (Osztás)
Jelenleg dolgozunk egy javítás üzembe helyezésén a probléma megoldásához.
Runbook-problémák diagnosztizálása
Amikor a runbook Azure Automationben való futtatása közben kap hibát, az alábbi lépéseket követve diagnosztizálhatja a problémát:
Győződjön meg arról, hogy a runbook szkriptje a helyi gépén sikeresen végrehajtódik.
A nyelvi referenciát és a képzési modult a PowerShell-dokumentációban vagy a Python-dokumentációban tekintheti meg. A szkript helyben való futtatása során észreveheti és elháríthatja többek között az alábbi gyakori hibákat:
- Hiányzó modulok
- Szintaktikai hibák
- Logikai hibák
Vizsgálja meg a runbook hibastreamjeit.
Keresse meg ezekben a streamekben a konkrét üzeneteket, és hasonlítsa össze őket az ebben a cikkben dokumentált hibákkal.
Ellenőrizze, hogy a csomópontok és az Automation-munkaterület rendelkeznek-e a szükséges modulokkal.
Ha a runbook importál valamilyen modult, a Modulok importálása szakasz lépéseit követve ellenőrizze, hogy az elérhető-e az Automation-fiók számára. Frissítse a PowerShell-modulokat a legújabb verzióra az Azure PowerShell-modulok frissítése az Azure Automationben szakasz utasításait követve. További információk a hibaelhárításról: Modulok hibaelhárítása.
Ha a runbook fel van függesztve vagy váratlanul meghiúsul:
- Újítsa meg a webhookot, ha egy lejárt webhookkal próbálja elindítani a runbookot.
- Ellenőrizze a feladatállapotokat a runbook jelenlegi állapotainak és a probléma lehetséges okainak megállapításához.
- Adjon hozzá további kimenetet a runbookhoz – ez segít azonosítani, mi történik a runbook felfüggesztése előtt.
- Kezelje a feladat által esetlegesen kiváltott kivételeket.
Ezt a lépést akkor végezze el, ha a runbook-feladat vagy a hibrid runbook-feldolgozó környezete nem válaszol.
Ha a runbookokat az Azure Automation helyett egy hibrid runbook-feldolgozón futtatja, lehet, hogy magán a hibrid feldolgozón kell hibaelhárítást végeznie.
Forgatókönyv: Nem hozható létre új Automation-feladat a nyugat-európai régióban
Probléma
Új Automation-feladatok létrehozásakor előfordulhat, hogy a feladat létrehozása késik vagy meghiúsul. Az ütemezett feladatok automatikusan megszűnnek, és a portálon keresztül végrehajtott feladatok visszavonhatók, ha hibát tapasztal.
Ok
Ennek oka az, hogy a nyugat-európai régióban az Automation szolgáltatást használó ügyfelek runbookjai nagy terhelést okoznak.
Resolution (Osztás)
Ha a követelményeknek és a környezetnek megfelelően megvalósítható, hajtsa végre a következő műveletet a meghibásodás esélyének csökkentése érdekében:
- Ha a feladatlétrehozáshoz az óra felső részét használja (12:00, 1:00, 2:00 stb.), általában az óra vagy a fél óra szerint, javasoljuk, hogy a feladat kezdési idejét az óra/fél óra előtt vagy után öt percre helyezze át. Ennek az az oka, hogy az ügyfelek többsége az óra kezdetét a feladatok végrehajtására használja, ami jelentősen növeli a szolgáltatás terhelését, míg a terhelés viszonylag alacsony a többi idősávban.
Forgatókönyv: A runbook "ezzel" meghiúsul. A Client.SubscriptionId nem lehet null értékű." hibaüzenet
Probléma
A Runbook egy felügyelt identitást használó Connect-AzAccount -Identity használatával, amely megpróbálja kezelni az Azure-objektumokat, nem működik sikeresen, és a következő hibát naplózza - this.Client.SubscriptionId cannot be null.
get-azvm : 'this.Client.SubscriptionId' cannot be null. At line:5 char:1 + get-azvm + ~~~~~~~~ + CategoryInfo : CloseError: (:) [Get-AzVM], ValidationException + FullyQualifiedErrorId : Microsoft.Azure.Commands.Compute.GetAzureVMCommand
Ok
Ez akkor fordulhat elő, ha a felügyelt identitás (vagy a runbookban használt egyéb fiók) nem kapott engedélyt az előfizetés elérésére.
Resolution (Osztás)
Rendeljen a felügyelt identitáshoz (vagy egy másik, a runbookban használt fiókhoz) megfelelő szerepkörtagságot az előfizetésben. További információ
Forgatókönyv: Hozzáférés letiltva az Azure Storage-hoz, az Azure Key Vaulthoz vagy az Azure SQL-hez
Ez a forgatókönyv az Azure Storage-t használja példaként, azonban az információk az Azure Key Vaultra és az Azure SQL-re is érvényesek.
Probléma
Ha runbookból próbál hozzáférni az Azure Storage-hoz, a következő üzenethez hasonló hibaüzenet jelenik meg: The remote server returned an error: (403) Forbidden. HTTP Status Code: 403 - HTTP Error Message: This request is not authorized to perform this operation.
Ok
Az Azure Storage-on futó Azure Firewall engedélyezve van.
Resolution (Osztás)
Ha engedélyezi az Azure Firewallt az Azure Storage-on, az Azure Key Vaulton vagy az Azure SQL-en, letiltja az Azure Automation-runbookok hozzáférését ezekhez a szolgáltatásokhoz. A hozzáférés akkor is le lesz tiltva, ha engedélyezi a megbízható Microsoft-szolgáltatásokat az arra vonatkozó tűzfalkivétellel, mivel az Automation nem szerepel a megbízható szolgáltatások listáján. Engedélyezett tűzfal esetén a hozzáférés csak hibrid Runbook-feldolgozóval és virtuális hálózati szolgáltatásvégponttal érhető el.
Forgatókönyv: A runbook „Nincs engedély” vagy „Tiltott – 403” hibaüzenettel meghiúsul
Probléma
A runbook Nem engedély vagy Tiltott 403 hibával vagy azzal egyenértékű hibával meghiúsul.
Ok
Előfordulhat, hogy a futtató fiókok nem rendelkeznek ugyanazokkal az engedélyekkel az Azure-erőforrásokhoz, mint a jelenlegi Automation-fiók.
Resolution (Osztás)
Győződjön meg arról, hogy a futtató fiók rendelkezik engedélyekkel a szkriptben használt erőforrások eléréséhez.
Forgatókönyv: Sikertelen bejelentkezés az Azure-fiókba
Probléma
A parancsmag használatakor Connect-AzAccount
a következő hibák egyike jelenik meg:
Unknown_user_type: Unknown User Type
No certificate was found in the certificate store with thumbprint
Ok
Ezek a hibák akkor következnek be, ha a hitelesítő objektum neve nem érvényes. Akkor is előfordulhatnak, ha az Automation hitelesítő objektumának beállításához használt felhasználónév és jelszó nem érvényes.
Resolution (Osztás)
A hiba megállapításához kövesse az alábbi lépéseket:
Győződjön meg arról, hogy nincsenek speciális karakterei. Ezek a karakterek tartalmazzák az
\@
Azure-hoz való csatlakozáshoz használt Automation hitelesítőadat-objektum nevét.Ellenőrizze, hogy használhatja-e az Azure Automation hitelesítő adataiban tárolt felhasználónevet és jelszót a helyi PowerShell ISE -szerkesztőben. Futtassa a következő parancsikont a PowerShell ISE-ben.
$Cred = Get-Credential #Using Azure Service Management Add-AzureAccount -Credential $Cred #Using Azure Resource Manager Connect-AzAccount -Credential $Cred
Ha a hitelesítés helyileg nem sikerül, akkor nem megfelelően állította be a Microsoft Entra hitelesítő adatait. A Microsoft Entra-fiók helyes beállításához lásd a Hitelesítés az Azure-hoz a Microsoft Entra ID használatával című cikket.
Ha a hiba átmenetinek tűnik, az erősebb hitelesítés érdekében próbáljon újrapróbálkozási logikát hozzáadni a hitelesítési rutinhoz.
$logonAttempt = 0 $logonResult = $False while(!($connectionResult) -And ($logonAttempt -le 10)) { $LogonAttempt++ #Logging in to Azure... $connectionResult = Connect-AzAccount ` Start-Sleep -Seconds 30 if($connectionResult) { $logonResult = $True } }
Forgatókönyv: A bejelentkezéshez futtassa a Login-AzureRmAccount parancsot
Probléma
Egy runbook futtatásakor a következő hibaüzenet jelenik meg:
Run Login-AzureRMAccount to login.
Ok
Ez a hiba akkor fordulhat elő, ha nem futtató fiókot használ, vagy a futtató fiók lejárt.
Ennek a hibának két elsődleges oka van:
- Az AzureRM- vagy az Az-modulnak különböző verziói léteznek.
- Másik előfizetés erőforrásaihoz próbál hozzáférni.
Resolution (Osztás)
Ha ez a hiba egy AzureRM- vagy Az-modul frissítése után jelentkezik, frissítse az összes modult ugyanarra a verzióra.
Ha egy másik előfizetés erőforrásaihoz próbál hozzáférni, kövesse az alábbi lépéseket az engedélyek konfigurálásához:
Nyissa meg az Automation futtató fiókot, és másolja ki az alkalmazásazonosítót és az ujjlenyomatot.
Lépjen az előfizetés hozzáférés-vezérlésére, ahol az Automation-fiók nincs üzemeltetve, és adjon hozzá egy új szerepkör-hozzárendelést.
Adja hozzá a korábban gyűjtött alkalmazásazonosítót . Válassza ki a Közreműködői engedélyeket.
Másolja ki az előfizetés nevét.
Mostantól az alábbi runbook-kóddal tesztelheti az Automation-fiókból a másik előfizetésbe érkező engedélyeket. Cserélje le
<CertificateThumbprint>
az 1. lépésben másolt értékre. Cserélje le"<SubscriptionName>"
a 4. lépésben másolt értékre.$Conn = Get-AutomationConnection -Name AzureRunAsConnection Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -ApplicationId $Conn.ApplicationID -CertificateThumbprint "<CertificateThumbprint>" #Select the subscription you want to work with Select-AzSubscription -SubscriptionName '<YourSubscriptionNameGoesHere>' #Test and get outputs of the subscriptions you granted access. $subscriptions = Get-AzSubscription foreach($subscription in $subscriptions) { Set-AzContext $subscription Write-Output $subscription.Name }
Forgatókönyv: Az Azure-előfizetés nem található
Probléma
Az , Select-AzureRMSubscription
vagy Select-AzSubscription
parancsmag használatakor a Select-AzureSubscription
következő hibaüzenet jelenik meg:
The subscription named <subscription name> cannot be found.
Hiba
Ez a hiba akkor fordulhat elő, ha:
- Az előfizetés neve érvénytelen.
- Az előfizetés adatait lekérni próbáló Microsoft Entra-felhasználó nincs az előfizetés rendszergazdájaként konfigurálva.
- A parancsmag nem érhető el.
- Környezetváltás történt.
Resolution (Osztás)
A környezetváltásról lásd: Környezetváltás az Azure Automationben.
Forgatókönyv: A runbookok meghiúsulnak, amikor több előfizetést kezel
Probléma
Runbookok végrehajtásakor a runbook nem tudja kezelni az Azure-erőforrásokat.
Ok
A runbook futáskor nem a megfelelő környezetet használja. Ennek az lehet az oka, hogy a runbook véletlenül megpróbálja elérni a helytelen előfizetést.
Az alábbihoz hasonló hibák jelentkezhetnek:
Get-AzVM : The client '<client-id>' with object id '<object-id> does not have authorization to perform action 'Microsoft.Compute/virtualMachines/read' over scope '/subscriptions/<subscriptionIdOfSubscriptionWhichDoesntContainTheVM>/resourceGroups/REsourceGroupName/providers/Microsoft.Compute/virtualMachines/VMName '.
ErrorCode: AuthorizationFailed
StatusCode: 403
ReasonPhrase: Forbidden Operation
ID : <AGuidRepresentingTheOperation> At line:51 char:7 + $vm = Get-AzVM -ResourceGroupName $ResourceGroupName -Name $UNBV... +
vagy ehhez hasonlóan:
Get-AzureRmResource : Resource group "SomeResourceGroupName" could not be found.
... resources = Get-AzResource -ResourceGroupName $group.ResourceGro ...
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Get-AzResource], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.GetAzureResourceCmdlet
Resolution (Osztás)
A helytelen előfizetés véletlen elérésének elkerülése érdekében tekintse meg a környezetváltást az Azure Automationben.
Forgatókönyv: Az engedélyezett többtényezős hitelesítés miatt meghiúsult Azure-hitelesítés
Probléma
Az Azure-beli felhasználónévvel és jelszóval történő hitelesítéskor a következő hibaüzenet jelenik meg:
Add-AzureAccount: AADSTS50079: Strong authentication enrollment (proof-up) is required
Ok
Ha többtényezős hitelesítéssel rendelkezik az Azure-fiókjában, nem használhat Microsoft Entra-felhasználót az Azure-ban való hitelesítéshez. Ehelyett a hitelesítéshez egy tanúsítvány vagy egy szolgáltatásnév szükséges.
Resolution (Osztás)
Ha szolgáltatásnevet szeretne használni az Azure Resource Manager-parancsmagokkal, olvassa el a Szolgáltatásnév létrehozása az Azure Portalon és egy szolgáltatásnév hitelesítése az Azure Resource Managerrel című témakört.
Forgatókönyv: A runbook az „Egy feladat végrehajtása meg lett szakítva” hibaüzenettel meghiúsul
Probléma
A runbook az alábbi példához hasonló hibával meghiúsul:
Exception: A task was cancelled.
Ok
Ezt a hibát az elavult Azure-modulok okozhatják.
Resolution (Osztás)
Ezt a hibát úgy háríthatja el, hogy az Azure-modulokat a legújabb verzióra frissíti:
- Az Automation-fiókjában válassza a Modulok, majd az Azure-modulok frissítése elemet.
- A frissítés körülbelül 15 percet vesz igénybe. Miután elkészült, futtassa újra a sikertelen runbookot.
További információk a modulok frissítéséről: Azure-modulok frissítése az Azure Automationben.
Eset: A kifejezést a rendszer nem ismerte fel parancsmag, függvény vagy szkript neveként
Probléma
A runbook az alábbi példához hasonló hibával meghiúsul:
The term 'Connect-AzAccount' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if the path was included verify that the path is correct and try again.
Ok
Ez a hiba a következő okok miatt fordulhat elő:
- A parancsmagot tartalmazó modul nem lett importálva az Automation-fiókba.
- A parancsmagot tartalmazó modul importálva lett, azonban elavult.
Resolution (Osztás)
A hiba elhárításához hajtsa végre az alábbi feladatok egyikét:
- Azure-modulok esetében tekintse meg az Azure PowerShell-modulok frissítése az Azure Automationben részt, amelyből megismerheti az Automation-fiókjában lévő modulok frissítésének menetét.
- Nem Azure-modulok esetén győződjön meg arról, hogy a modul importálva van az Automation-fiókjába.
Forgatókönyv: A parancsmag meghiúsul az Azure Automation PnP PowerShell-runbookjában
Probléma
Ha egy runbook egy PnP PowerShell által generált objektumot ír közvetlenül az Azure Automation-kimenetbe, a parancsmag kimenete nem tud visszastreamelni az Automationbe.
Ok
Ez a probléma leggyakrabban akkor fordul elő, ha az Azure Automation olyan runbookokat dolgoz fel, amelyek PnP PowerShell-parancsmagokat hívnak meg, add-pnplistitem
például a visszatérési objektumok elfogása nélkül.
Resolution (Osztás)
Szerkessze a szkripteket, hogy bármilyen visszatérési értéket rendeljen a változókhoz, hogy a parancsmagok ne kíséreljenek meg egész objektumokat írni a standard kimenetbe. A szkriptek átirányíthatják a kimeneti streamet egy parancsmagba, ahogy az itt látható.
$null = add-pnplistitem
Ha a szkript elemzi a parancsmag kimenetét, a szkriptnek egy változóban kell tárolnia a kimenetet, és a kimenet egyszerű streamelése helyett a változót kell módosítania.
$SomeVariable = add-pnplistitem ....
if ($SomeVariable.someproperty -eq ....
Eset: A rendszer nem ismerte fel a parancsmagot egy runbook végrehajtásakor
Probléma
A runbook-feladat a következő hibával meghiúsult:
<cmdlet name>: The term <cmdlet name> is not recognized as the name of a cmdlet, function, script file, or operable program.
Ok
Ezt a hibát az okozza, hogy a PowerShell-motor nem találja a runbookban használt parancsmagot. Lehetséges, hogy a parancsmagot tartalmazó modul hiányzik a fiókból, névütközés van egy runbook nevével, vagy a parancsmag egy másik modulban is létezik, és az Automation nem tudja feloldani a nevet.
Resolution (Osztás)
A probléma megoldásához használja az alábbi megoldásokat:
- Győződjön meg arról, hogy helyesen adta meg a parancsmagnevet.
- Győződjön meg arról, hogy a parancsmag létezik az Automation-fiókban, és hogy nincsenek ütközések. Ha ellenőrizni szeretné, hogy a parancsmag jelen van-e, nyisson meg egy runbookot szerkesztési módban, és keresse meg a tárban megtalálni kívánt parancsmagot, vagy futtassa a parancsmagot
Get-Command <CommandName>
. Miután meggyőződött róla, hogy a parancsmag elérhető a fiók számára, és hogy nincs névütközés más parancsmagokkal vagy runbookokkal, adja hozzá a parancsmagot a vászonhoz. Ügyeljen arra, hogy érvényes paraméterkészletet használjon a runbookban. - Ha névütközés áll fenn, és a parancsmag két különböző modulban is elérhető, a problémát a parancsmag teljes nevének használatával oldhatja meg. Használhatja például a következőt:
ModuleName\CmdletName
. - Ha a runbookot egy helyszíni hibrid feldolgozócsoportban hajtja végre, győződjön meg arról, hogy a modul és a parancsmag telepítve van a hibrid feldolgozót üzemeltető gépen.
Forgatókönyv: Helytelen objektumhivatkozás az Add-AzAccount hívásakor
Probléma
Ez a hiba akkor jelenik meg, ha a parancsmag aliasával Add-AzAccount
Connect-AzAccount
dolgozik:
Add-AzAccount : Object reference not set to an instance of an object
Ok
Ez a hiba akkor fordulhat elő, ha a runbook nem hajtja végre a megfelelő lépéseket, mielőtt meghívja Add-AzAccount
az Automation-fiók hozzáadását. Az egyik szükséges lépés például egy futtató fiókkal való bejelentkezés. A runbookban használandó megfelelő műveletekért lásd : Runbook-végrehajtás az Azure Automationben.
Forgatókönyv: Az objektumhivatkozás nincs beállítva az objektum egyik példányára
Probléma
A következő hibaüzenet jelenik meg, amikor egy gyermek runbookot hív meg a Wait
paraméterrel, és a Kimeneti stream tartalmaz egy objektumot:
Object reference not set to an instance of an object
Ok
Ha a stream objektumokat tartalmaz, Start-AzAutomationRunbook
nem kezeli megfelelően a kimeneti adatfolyamot.
Resolution (Osztás)
Alkalmazzon lekérdezési logikát, és használja a Get-AzAutomationJobOutput parancsmagot a kimenet lekéréséhez. Ennek a logikának a mintája itt van definiálva:
$AutomationAccountName = "ContosoAutomationAccount"
$RunbookName = "ChildRunbookExample"
$ResourceGroupName = "ContosoRG"
function IsJobTerminalState([string]$Status) {
$TerminalStates = @("Completed", "Failed", "Stopped", "Suspended")
return $Status -in $TerminalStates
}
$StartAzAutomationRunbookParameters = @{
Name = $RunbookName
AutomationAccountName = $AutomationAccountName
ResourceGroupName = $ResourceGroupName
}
$Job = Start-AzAutomationRunbook @StartAzAutomationRunBookParameters
$PollingSeconds = 5
$MaxTimeout = New-TimeSpan -Hours 3 | Select-Object -ExpandProperty TotalSeconds
$WaitTime = 0
while(-NOT (IsJobTerminalState $Job.Status) -and $WaitTime -lt $MaxTimeout) {
Start-Sleep -Seconds $PollingSeconds
$WaitTime += $PollingSeconds
$Job = $Job | Get-AzAutomationJob
}
$Job | Get-AzAutomationJobOutput | Get-AzAutomationJobOutputRecord | Select-Object -ExpandProperty Value
Forgatókönyv: A runbook deszerializált objektum miatt meghiúsul
Probléma
A runbook a következő hibával meghiúsul:
Cannot bind parameter <ParameterName>.
Cannot convert the <ParameterType> value of type Deserialized <ParameterType> to type <ParameterType>.
Ok
Ha a runbook Egy PowerShell-munkafolyamat, az összetett objektumokat deszerializált formátumban tárolja a runbook állapotának megőrzéséhez, ha a munkafolyamat fel van függesztve.
Resolution (Osztás)
A probléma megoldásához használja az alábbi megoldásokat:
- Ha összetett objektumokat az egyik parancsmagból átad egy másikba, ezeket a parancsmagokat helyezze el egy
InlineScript
tevékenységben. - Adja át az összetett objektumból szükséges nevet vagy értéket a teljes objektum átadása helyett.
- PowerShell-munkafolyamat-runbook helyett használjon PowerShell-runbookot.
Forgatókönyv: 400 – Hibás kérés állapot webhook hívásakor
Probléma
Amikor webhookot próbál meghívni egy Azure Automation-runbookhoz, a következő hibaüzenet jelenik meg:
400 Bad Request : This webhook has expired or is disabled
Ok
A hívni kívánt webhook le van tiltva, vagy lejárt.
Resolution (Osztás)
Ha a webhook le van tiltva, az Azure portálon keresztül visszaengedélyezheti. Ha a webhook lejárt, törölnie kell, majd újra létre kell hoznia. Webhookot csak akkor újíthat meg, ha még nem járt le.
Forgatókönyv: 429: A kérelmek száma jelenleg túl nagy
Probléma
A parancsmag futtatásakor a Get-AzAutomationJobOutput
következő hibaüzenet jelenik meg:
429: The request rate is currently too large. Please try again
Ok
Ez a hiba akkor fordulhat elő, ha egy sok részletes adatfolyamot tartalmazó runbook feladatkimenetét lekérte.
Resolution (Osztás)
A hiba elhárításához tegye az alábbiak egyikét:
- Szerkessze a runbookot, és csökkentse az általa kibocsátott feladatstreamek számát.
- Csökkentse a parancsmag futtatásakor lekérendő streamek számát. Ehhez beállíthatja a
Stream
Get-AzAutomationJobOutput parancsmag paraméterének értékét, hogy csak a kimeneti streameket kérje le.
Forgatókönyv: A Runbook-feladat meghiúsul, mert túllépte a lefoglalt kvótát
Probléma
A runbook-feladat a következő hibával meghiúsult:
The quota for the monthly total job run time has been reached for this subscription
Ok
Ez a hiba akkor fordul elő, ha a feladat végrehajtása meghaladja a fiók 500 perces ingyenes kvótáját. Ez a kvóta a feladatvégrehajtási tevékenységek minden típusára vonatkozik. Ezen feladatok némelyike egy feladat tesztelése, egy feladat indítása a portálról, feladat végrehajtása webhookok használatával, vagy egy feladat ütemezése az Azure Portalon vagy az adatközpontban való végrehajtáshoz. Az Automation díjszabásáról további információt az Automation díjszabásában talál.
Resolution (Osztás)
Ha havonta több mint 500 percnyi feldolgozást szeretne használni, módosítsa előfizetését az Ingyenes szintről az Alapszintű szintre:
- Jelentkezzen be az Azure-előfizetésbe.
- Válassza ki a frissíteni kívánt Automation-fiókot.
- Válassza a Beállítások, majd a Díjszabás lehetőséget.
- Az oldal alján válassza az Engedélyezés lehetőséget a fiók alapszintűre való frissítéséhez.
Forgatókönyv: Runbook kimeneti adatfolyama 1 MB-nál nagyobb
Probléma
Az Azure-tesztkörnyezetben futó runbook a következő hibával meghiúsul:
The runbook job failed due to a job stream being larger than 1MB, this is the limit supported by an Azure Automation sandbox.
Ok
Ez a hiba azért fordul elő, mert a runbook túl sok kivételadatokat próbált írni a kimeneti adatfolyamba.
Resolution (Osztás)
A feladat kimeneti adatfolyamára 1 MB-os korlát vonatkozik. Győződjön meg arról, hogy a runbook egy végrehajtható vagy alfolyamatba irányuló hívásokat foglal magában a használatával és catch
blokkjaivaltry
. Ha a műveletek kivételt eredményeznek, biztosítsa, hogy a kód az üzenetet a kivételből egy Automation-változóba írja. Ez a módszer megakadályozza, hogy az üzenet a feladat kimeneti adatfolyamába legyen írva. A hibrid runbook-feldolgozó feladatainak végrehajtásakor az 1 MB-ra csonkolt kimeneti adatfolyam hibaüzenet nélkül jelenik meg.
Forgatókönyv: A rendszer háromszor megkísérli elindítani a runbookfeladatot, de az egy alkalommal sem indul el
Probléma
A runbook a következő hibával meghiúsul:
The job was tried three times but it failed
Ok
Ezt a hibát a következő okok közül egy vagy több okozhatja:
Memóriakorlát. Egy feladat meghiúsulhat, ha több mint 400 MB memóriát használ. A tesztkörnyezethez lefoglalt memória dokumentált korlátairól Az Automation szolgáltatás korlátai részben olvashat.
Hálózati szoftvercsatornák. Az Azure-tesztkörnyezetek legfeljebb 1000 egyidejű hálózati szoftvercsatornára korlátozódnak. További információk: Az Automation szolgáltatás korlátai.
A modul nem kompatibilis. Előfordulhat, hogy a modulfüggőségek nem helyesek. Ebben az esetben a runbook általában egy vagy
Cannot bind parameter
többCommand not found
üzenetet ad vissza.Nincs hitelesítés az Active Directoryval a tesztkörnyezethez. A runbook megkísérelt meghívni egy végrehajtható vagy alfolyamatot, amely egy Azure-tesztkörnyezetben fut. Nem támogatott runbookok konfigurálása a Microsoft Entra-azonosítóval való hitelesítéshez az Azure Active Directory Authentication Library (ADAL) használatával.
Resolution (Osztás)
Memóriakorlát, hálózati szoftvercsatornák. A memóriakorlátokon belüli munka javasolt módjai a számítási feladatok több runbook közötti felosztása, kevesebb adat feldolgozása a memóriában, a runbookok szükségtelen kimenetének írása, valamint a PowerShell-munkafolyamat-runbookokba írt ellenőrzőpontok számának figyelembevétele. Használja a clear metódust, például
$myVar.clear
a változók törlését és[GC]::Collect
a szemétgyűjtés azonnali futtatását. Ezek a műveletek futtatás közben csökkentik a runbook memóriaigényét.A modul nem kompatibilis. Frissítse az Azure-modulokat az Azure PowerShell-modulok frissítése az Azure Automationben szakasz lépéseit követve.
Nincs hitelesítés az Active Directoryval a tesztkörnyezethez. Amikor egy futtatási könyvvel hitelesíti a Microsoft Entra ID-t, győződjön meg arról, hogy az Azure AD modul elérhető az Automatizálási fiókjában. Mindenképpen adja meg a futtató fióknak a runbook által automatizálható feladatok végrehajtásához szükséges engedélyeket.
Ha a runbook nem tud egy Azure-tesztkörnyezetben futó végrehajtható vagy alfolyamatot meghívni, használja a runbookot egy hibrid runbook-feldolgozón. A hibrid feldolgozókat nem korlátozzák az Azure-tesztkörnyezetek memória- és hálózati korlátai.
Forgatókönyv: A PowerShell-feladat a "Nem hívható meg metódus" hibaüzenettel meghiúsul
Probléma
A következő hibaüzenet jelenik meg, amikor PowerShell-feladatot indít egy Azure-ban futó runbookban:
Exception was thrown - Cannot invoke method. Method invocation is supported only on core types in this language mode.
Ok
Ez a hiba azt jelezheti, hogy az Azure-tesztkörnyezetben futó runbookok nem futtathatók teljes nyelvi módban.
Resolution (Osztás)
A hiba kétféleképpen oldható meg:
- A Start-Feladat helyett használja a Start-AzAutomationRunbookot a runbook elindításához.
- A runbookot hibrid runbook-feldolgozón futtassa.
Az Azure Automation-runbookok viselkedésével és egyéb viselkedésével kapcsolatos további információkért lásd : Runbook-végrehajtás az Azure Automationben.
Forgatókönyv: Egy hosszú ideig futó runbook nem tud befejeződni
Probléma
A runbook három órán keresztül leállítva állapotban jelenik meg. A következő hibaüzenet is jelenhet meg:
The job was evicted and subsequently reached a Stopped state. The job cannot continue running.
Ezt a viselkedést az Azure-tesztkörnyezetekben való tervezés okozza, mivel az Azure Automationen belüli folyamatok igazságos megosztási monitorozása történik. Ha egy folyamat három óránál hosszabb ideig fut, a méltányos megosztás automatikusan leállítja a runbookot. A méltányos megosztási időkorláton túli runbookok állapota runbooktípusonként eltérő. A PowerShell- és Python-runbookok leállított állapotra vannak állítva. A PowerShell-munkafolyamat runbookjai sikertelenek.
Ok
A runbook túllépte az Azure-tesztkörnyezetben érvényes megosztás által engedélyezett háromórás korlátot.
Resolution (Osztás)
Az egyik ajánlott megoldás a runbook futtatása hibrid runbook-feldolgozón. A hibrid feldolgozókat nem korlátozza az Azure-tesztkörnyezetek háromórás fair share runbook-korlátja. A hibrid runbook-feldolgozókon futó runbookokat úgy kell kifejleszteni, hogy támogassák az újraindítási viselkedést, ha nem várt helyi infrastruktúra-problémák merülnek fel.
Egy másik megoldás a runbook optimalizálása gyermek runbookok létrehozásával. Ha a runbook több erőforráson is végigfut ugyanazon a függvényen, például több adatbázis adatbázis-műveletében, a függvényt áthelyezheti egy gyermek runbookba. Minden gyermek runbook párhuzamosan, külön folyamatban fut. Ez a viselkedés csökkenti a szülő runbook befejezésének teljes időtartamát.
A gyermek runbook forgatókönyvét engedélyező PowerShell-parancsmagok a következők:
- Start-AzAutomationRunbook. Ez a parancsmag lehetővé teszi, hogy elindítson egy runbookot, és paramétereket adjon át a számára.
- Get-AzAutomationJob. Ha vannak olyan műveletek, amelyeket a gyermek runbook befejezése után kell végrehajtani, ez a parancsmag lehetővé teszi az egyes gyermekek feladatállapotának ellenőrzését.
Forgatókönyv: a get_SerializationSettings metódussal kapcsolatos hiba a feladatstreamekben
Probléma
A runbook feladatstreamjeiben a következő hiba jelenik meg:
Connect-AzAccount : Method 'get_SerializationSettings' in type
'Microsoft.Azure.Management.Internal.Resources.ResourceManagementClient' from assembly
'Microsoft.Azure.Commands.ResourceManager.Common, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'
does not have an implementation.
At line:16 char:1
+ Connect-AzAccount -ServicePrincipal -Tenant $Conn.TenantID -Appl ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Connect-AzAccount], TypeLoadException
+ FullyQualifiedErrorId : System.TypeLoadException,Microsoft.Azure.Commands.Profile.ConnectAzAccountCommand
Ok
Ezt a hibát valószínűleg az okozza, hogy a runbook nem teljes migrálást végzett az AzureRM-ből az Az-modulokba. Ez a helyzet azt eredményezheti, hogy az Azure Automation csak AzureRM-modulokkal indít el egy runbookfeladatot, majd csak az Az-modulok használatával indít el egy másik feladatot, ami tesztkörnyezet összeomlásához vezet.
Resolution (Osztás)
Nem javasoljuk az Az és az AzureRM parancsmagok használatát ugyanabban a runbookban. A modulok helyes használatáról további információt a Migrálás az Az-modulokra című témakörben talál.
Forgatókönyv: Hozzáférés megtagadva az Azure-tesztkörnyezet runbookhoz vagy alkalmazáshoz való használatakor
Probléma
Amikor a runbook vagy az alkalmazás egy Azure-tesztkörnyezetben próbál futni, a környezet letiltja a hozzáférést.
Ok
Ez a probléma azért fordulhat elő, mert az Azure-tesztkörnyezetek megakadályozzák az összes folyamaton kívüli COM-kiszolgáló elérését. Egy tesztkörnyezetbe vagy runbookba például nem hívhatók be a Windows Management Instrumentation (WMI) vagy a Windows Installer szolgáltatás (msiserver.exe).
Resolution (Osztás)
Az Azure-tesztkörnyezetek használatáról további információt a Runbook végrehajtási környezetében talál.
Forgatókönyv: Érvénytelen tiltott állapotkód a Key Vault runbookon belüli használatakor
Probléma
Amikor megpróbál hozzáférni az Azure Key Vaulthoz egy Azure Automation-runbookon keresztül, a következő hibaüzenet jelenik meg:
Operation returned an invalid status code 'Forbidden'
Ok
A probléma lehetséges okai a következők:
- Futtató fiók használata nem.
- Nem megfelelő engedélyek.
Resolution (Osztás)
Futtató fiók használata nem
Kövesse az 5. lépést – Hitelesítés hozzáadása az Azure-erőforrások kezeléséhez annak biztosítása érdekében, hogy futtató fiókkal férhessen hozzá a Key Vaulthoz.
Nem megfelelő engedélyek
Adjon hozzá engedélyeket a Key Vaulthoz, hogy a futtató fiók megfelelő engedélyekkel rendelkezzen a Key Vault eléréséhez.
Eset: A runbook „A paraméter hossza túllépve” hibával meghiúsul
Probléma
A runbook paramétereket használ, és a következő hibával meghiúsul:
Total Length of Runbook Parameter names and values exceeds the limit of 30,000 characters. To avoid this issue, use Automation Variables to pass values to runbook.
Ok
A Python 2.7-ben, a Python 3.8-ban és a PowerShell 7.1-ben elérhető összes paraméter karaktereinek teljes hossza korlátozott. Az összes paraméternév és paraméterérték teljes hossza nem haladhatja meg a 30 000 karaktert.
Resolution (Osztás)
A probléma megoldásához az Azure Automation-változók használatával adhat át értékeket a runbooknak. A paraméternevekben és paraméterértékekben lévő karakterek számát is csökkentheti, hogy a teljes hossz ne haladja meg a 30 000 karaktert.
Ajánlott dokumentumok
Következő lépések
Ha itt nem látja a problémát, vagy nem tudja megoldani a problémát, próbálkozzon az alábbi csatornák egyikével további támogatásért:
- Azure-szakértők válaszolnak az Azure Fórumain keresztül.
- Csatlakozzon @AzureSupport, a hivatalos Microsoft Azure-fiókhoz az ügyfélélmény javítása érdekében. Az Azure-támogatás választ, támogatást és szakértőket keres az Azure-közösséghez.
- Ha további segítségre van szüksége, Azure-támogatás incidenst nyújthat be. Lépjen a Azure-támogatás webhelyre, és válassza a Támogatás kérése lehetőséget.