Freigeben über


Behebung von Ausführungsproblemen bei Runbooks unter Verwendung von PowerShell in Azure Automation

Dieser Artikel enthält Anleitungen zum Diagnostizieren und Beheben von Runbook-Ausführungsproblemen, die bei Verwendung von PowerShell-Skripts oder Cmdlets in Azure Automation auftreten.

Hinweis

Azure Automation ermöglicht die Wiederherstellung von Runbooks, die in den letzten 29 Tagen gelöscht wurden. Sie können ein gelöschtes Runbook wiederherstellen, indem Sie ein PowerShell-Skript als Auftrag in Ihrem Automatisierungskonto ausführen. Weitere Informationen finden Sie unter Gelöschtes Runbook wiederherstellen.

Einschränkungen und bekannte Probleme mit PowerShell-Runbooks

PowerShell-Runbooks basieren auf Windows PowerShell. Sie können den Code direkt bearbeiten, indem Sie den Text-Editor im Azure-Portal verwenden. Sie können auch einen Offlinetext-Editor verwenden und dann die Runbooks in Azure Automation importieren. Die PowerShell-Version wird durch die angegebene Laufzeitversion bestimmt.

Einschränkungen:

  • Für die PowerShell 7-Runtimeversion werden die Modulaktivitäten nicht für die importierten Module extrahiert.
  • Der Runbookparametertyp „PSCredential“ wird in der PowerShell 7-Runtimeversion nicht unterstützt.
  • PowerShell 7.x unterstützt keine Workflows-Runbooks. Weitere Informationen finden Sie im PowerShell-Workflow.
  • PowerShell 7.x unterstützt derzeit keine signierten Runbooks.
  • Die Integration der Quellcodeverwaltung unterstützt PowerShell 7.2 nicht. PowerShell 7.2-Runbooks in der Quellcodeverwaltung werden in einem Automatisierungskonto als Laufzeit 5.1 erstellt.
  • Derzeit werden nur Cloudaufträge für die PowerShell 7.2-Laufzeitversion unterstützt.
  • Die Verwendung von Az-Modulen und AzureRM-Modulen im gleichen Automation-Konto wird nicht unterstützt. Weitere Informationen finden Sie unter Aktualisieren von Azure PowerShell-Modulen in der Automatisierung.

Bekannte Probleme:

  • Runbookeigenschaften, die die Protokollierungsvoreinstellung definieren, werden in der PowerShell 7-Runtime nicht unterstützt.

    Um dieses Problem zu umgehen, legen Sie die Einstellung explizit am Anfang des Runbooks wie folgt fest:

    $VerbosePreference = "Continue"
    $ProgressPreference = "Continue"
    
  • Wenn Sie das ExchangeOnlineManagement-Modul Version 3.0.0 oder höher verwenden, treten möglicherweise Fehler auf.

    Um dieses Problem zu beheben, stellen Sie sicher, dass Sie die Module PowerShellGet und PackageManagement explizit hochladen.

Vor der Problembehandlung

Führen Sie die folgenden Schritte aus, um häufige Fehler zu identifizieren und zu beheben, bevor Sie weitere Problembehandlungen ausführen:

  1. Stellen Sie sicher, dass Ihr PowerShell-Skript außerhalb von Azure Automation funktioniert.
  2. Überprüfen Sie, ob die erforderlichen Module in Ihr Azure Automation-Konto importiert werden.

Problem 1: Runbook-Ausführung schlägt aufgrund des deserialisierten Objekts fehl.

Symptome:

Wenn Sie ein Runbook ausführen, wird möglicherweise die folgende Fehlermeldung angezeigt:

Der Parameter <ParameterName> kann nicht gebunden werden.

Der <ParameterType-Wert> des Typs 'Deserialized <ParameterType> ' kann nicht in den Typ <'ParameterType>' konvertiert werden.

Ursache:

Dieser Fehler tritt bei PowerShell-Workflow-Runbooks auf, da PowerShell-Workflow komplexe Objekte in einem deserialisierten Format speichert, um den Runbookstatus beizubehalten, wenn der Workflow angehalten wird.

Lösung:

Verwenden Sie eine der folgenden Methoden, um dieses Problem zu beheben:

  • Wenn Sie komplexe Objekte von einem PowerShell-Cmdlet an ein anderes weiterleiten, schließen Sie diese Cmdlets in eine Aktivität ein InlineScript .
  • Übergeben Sie den Namen oder Wert, den Sie aus dem komplexen Objekt benötigen, anstatt das gesamte Objekt zu übergeben.
  • Verwenden Sie anstelle eines PowerShell-Workflow-Runbooks ein PowerShell-Runbook.

Problem 2: PowerShell-Aufträge schlagen mit dem Fehler "Methode kann nicht aufgerufen werden" fehl.

Symptome:

Wenn Sie einen PowerShell-Auftrag in einem Runbook starten, das in einer Azure-Sandbox ausgeführt wird, erhalten Sie die folgende Fehlermeldung:

Ausnahme ausgelöst – Methode kann nicht aufgerufen werden. Methodenaufrufe werden nur für Kerntypen in diesem Sprachmodus unterstützt.

Ursache:

Dieser Fehler kann auftreten, da das Runbook nicht im Vollsprachmodus ausgeführt werden kann.

Lösung:

Verwenden Sie eine der folgenden Methoden, um diesen Fehler zu beheben:

Referenz

Kontaktieren Sie uns für Hilfe

Wenn Sie Fragen haben oder Hilfe benötigen, erstellen Sie eine Support-Anfrage oder wenden Sie sich an den Azure Community-Support. Sie können auch Produktfeedback an die Azure Feedback Community senden.