Troubleshoot runbook issues

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

Diagnose runbook issues

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. Ensure that your runbook script executes successfully on your local machine.

    For language reference and learning modules, see the PowerShell Docs or Python Docs. Running your script locally can discover and resolve common errors, such as:

    • Missing modules
    • Syntax errors
    • Logic errors
  2. Investigate runbook error streams.

    Look at these streams for specific messages, and compare them to the errors documented in this article.

  3. Ensure that your nodes and Automation workspace have the required modules.

    If your runbook imports any modules, verify that they're available to your Automation account by using the steps in Import modules. Update your PowerShell modules to the latest version by following the instructions in Update Azure PowerShell modules in Azure Automation. For more troubleshooting information, see Troubleshoot modules.

  4. If your runbook is suspended or unexpectedly fails:

  5. Do this step if the runbook job or the environment on Hybrid Runbook Worker doesn't respond.

    If you're running your runbooks on a Hybrid Runbook Worker instead of in Azure Automation, you might need to troubleshoot the hybrid worker itself.

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ó

 Screenshot that shows the assigning of Azure Role assignments.

Screenshot that shows how to add role assignment.

Scenario: Access blocked to Azure Storage, or Azure Key Vault, or Azure SQL

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élyezve van a megbízható Microsoft-szolgáltatások engedélyezésére vonatkozó tűzfalkivétel, mivel az Automation nem része a megbízható szolgáltatások listájának. 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.

Scenario: Runbook fails with a No permission or Forbidden 403 error

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.

Scenario: Sign-in to Azure account failed

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. They might also occur if the user name and password that you used to set up the Automation credential asset aren't valid.

Resolution (Osztás)

A hiba megállapításához kövesse az alábbi lépéseket:

  1. Make sure that you don't have any special characters. These characters include the \@ character in the Automation credential asset name that you're using to connect to Azure.

  2. Check to see if you can use the user name and password that are stored in the Azure Automation credential in your local PowerShell ISE editor. Run the following cmdlets in the PowerShell ISE.

    $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 meghiúsul, nem állította be megfelelően a Microsoft Entra hitelesítő adatait. A Microsoft Entra-fiók helyes beállításához tekintse meg a Hitelesítés az Azure-ban a Microsoft Entra-azonosítóval című cikket.

  4. If the error appears to be transient, try adding retry logic to your authentication routine to make authenticating more robust.

    $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 
        }
    }
    

Scenario: Run Login-AzureRMAccount to log in

Probléma

You receive the following error when you run a runbook:

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.

This error has two primary causes:

  • There are different versions of the AzureRM or Az module.
  • You're trying to access resources in a separate subscription.

Resolution (Osztás)

Ha ezt a hibát egy AzureRM vagy Az modul frissítése után kapja meg, 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.

    Copy Application ID and Thumbprint

  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.

    Access control

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

    Add role assignment

  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.

Scenario: Runbooks fail when dealing with multiple subscriptions

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.

Scenario: Authentication to Azure fails because multifactor authentication is enabled

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 tanúsítványt vagy szolgáltatásnevet kell használnia a hitelesítéshez.

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.

Scenario: Runbook fails with "A task was canceled" error message

Probléma

Your runbook fails with an error similar to the following example:

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. In your Automation account, select Modules, and then select Update Azure modules.
  2. The update takes roughly 15 minutes. After it's finished, rerun the runbook that failed.

To learn more about updating your modules, see Update Azure modules in Azure Automation.

Scenario: Term not recognized as the name of a cmdlet, function, or script

Probléma

Your runbook fails with an error similar to the following example:

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

This error can happen for the following reasons:

  • The module that contains the cmdlet isn't imported into the Automation account.
  • The module that contains the cmdlet is imported but is out of date.

Resolution (Osztás)

A hiba elhárításához hajtsa végre az alábbi feladatok egyikét:

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 módosítania kell a változót.

$SomeVariable = add-pnplistitem ....
if ($SomeVariable.someproperty -eq ....

Scenario: Cmdlet not recognized when executing a runbook

Probléma

Your runbook job fails with the error:

<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. It's possible that the module containing the cmdlet is missing from the account, there's a name conflict with a runbook name, or the cmdlet also exists in another module and Automation can't resolve the name.

Resolution (Osztás)

A probléma megoldásához használja az alábbi megoldásokat:

  • Make sure that you've entered the cmdlet name correctly.
  • Ensure that the cmdlet exists in your Automation account and that there are no conflicts. 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>. After you've validated that the cmdlet is available to the account, and that there are no name conflicts with other cmdlets or runbooks, add the cmdlet to the canvas. Make sure that you're using a valid parameter set in your runbook.
  • If you do have a name conflict and the cmdlet is available in two different modules, resolve the issue by using the fully qualified name for the cmdlet. Használhatja például a következőt: ModuleName\CmdletName.
  • If you're executing the runbook on-premises in a hybrid worker group, ensure that the module and cmdlet are installed on the machine that hosts the hybrid worker.

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:

  • If you're piping complex objects from one cmdlet to another, wrap these cmdlets in an InlineScript activity.
  • Pass the name or value that you need from the complex object instead of passing the entire object.
  • Use a PowerShell runbook instead of a PowerShell Workflow runbook.

Scenario: 400 Bad Request status when calling a webhook

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 meghívni kívánt webhook le van tiltva, vagy lejárt.

Resolution (Osztás)

Ha a webhook le van tiltva, újra engedélyezheti az Azure Portalon. If the webhook has expired, you must delete and then re-create it. A webhookok csak akkor újíthatók meg, ha még nem járt le.

Scenario: 429: The request rate is currently too large

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

Your runbook job fails with the error:

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

This error occurs because of one of the following issues:

  • Memóriakorlát. Egy feladat meghiúsulhat, ha több mint 400 MB memóriát használ. The documented limits on memory allocated to a sandbox are found at Automation service limits.

  • Hálózati szoftvercsatornák. Az Azure-tesztkörnyezetek legfeljebb 1000 egyidejű hálózati szoftvercsatornára korlátozódnak. For more information, see Automation service limits.

  • 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. Update your Azure modules by following the steps in How to update Azure PowerShell modules in Azure Automation.

  • Nincs hitelesítés az Active Directoryval a tesztkörnyezethez. Ha runbook használatával hitelesíti a Microsoft Entra ID-t, győződjön meg arról, hogy az Azure AD-modul elérhető az Automation-fiókjában. Be sure to grant the Run As account the necessary permissions to perform the tasks that the runbook automates.

    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. Hybrid workers aren't limited by the memory and network limits that Azure sandboxes have.

Forgatókönyv: A PowerShell-feladat a "Nem hívható meg metódus" hibaüzenettel meghiúsul

Probléma

You receive the following error message when you start a PowerShell job in a runbook that runs in Azure:

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örnyezetben futó alkalmazás vagy runbook például nem tud meghívni a Windows Management Instrumentation (WMI) szolgáltatásba vagy a Windows Installer szolgáltatásba (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.
  • Insufficient permissions.

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.

Insufficient permissions

Adjon hozzá engedélyeket a Key Vaulthoz, hogy a futtató fiók megfelelő engedélyekkel rendelkezzen a Key Vault eléréséhez.

Scenario: Runbook fails with "Parameter length exceeded" error

Probléma

Your runbook uses parameters and fails with the following error:

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. The total length of all Parameter names, and Parameter values must not exceed 30,000 characters.

Resolution (Osztás)

A probléma megoldásához az Azure Automation-változók használatával adhat át értékeket a runbooknak. You can alternatively reduce the number of characters in Parameter names and Parameter values to ensure that the total length does not exceed 30,000 characters.

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: