Megosztás a következőn keresztül:


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:

  1. 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
  2. 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.

  3. 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.

  4. Ha a runbook fel van függesztve vagy váratlanul meghiúsul:

  5. 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 felügyelt identitást használó runbook Csatlakozás-AzAccount -Identity, 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ó

 Képernyőkép az Azure-szerepkör-hozzárendelések hozzárendeléséről.

Képernyőkép a szerepkör-hozzárendelés hozzáadásáról.

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:

  1. 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.

  2. 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
    
  3. 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.

  4. 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:

  1. Nyissa meg az Automation futtató fiókot, és másolja ki az alkalmazásazonosítót és az ujjlenyomatot.

    Alkalmazásazonosító és ujjlenyomat másolása

  2. 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.

    Hozzáférés-vezérlés

  3. Adja hozzá a korábban gyűjtött alkalmazásazonosítót . Válassza ki a Közreműködői engedélyeket.

    Szerepkör-hozzárendelés hozzáadása

  4. Másolja ki az előfizetés nevét.

  5. 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-AzureRMSubscriptionvagy Select-AzSubscription parancsmag használatakor a Select-AzureSubscriptionkö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/<subcriptionIdOfSubscriptionWichDoesntContainTheVM>/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:

  1. Az Automation-fiókjában válassza a Modulok, majd az Azure-modulok frissítése elemet.
  2. 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-pnplistitempé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-AzAccountConnect-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:

  1. Jelentkezzen be az Azure-előfizetésbe.
  2. Válassza ki a frissíteni kívánt Automation-fiókot.
  3. Válassza a Gépház, majd a Díjszabás lehetőséget.
  4. 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, a kód írja be az üzenetet a kivételből egy Automation-változóba. Ez a technika megakadályozza, hogy az üzenet be legyen írva a feladat kimeneti adatfolyamába. A hibrid runbook-feldolgozói feladatok végrehajtásakor az 1 MB-ra csonkolt kimeneti stream 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öbb Command 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.cleara változók törlését és [GC]::Collect a szemétgyűjtés azonnali futtatását. Ezek a műveletek csökkentik a runbook memóriaigényét futásidőben.

  • 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:

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.

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: