Freigeben über


Problembehandlung bei Azure Automation State Configuration

Hinweis

Azure Automation State Configuration wird am 30. September 2027 eingestellt. Wechseln Sie bis zu diesem Datum zu Azure Machine Configuration. Weitere Informationen finden Sie in der Ankündigung im Blogbeitrag. Der Azure-Computerkonfigurationsdienst kombiniert Features der DSC-Erweiterung und von Azure Automation State Configuration mit den am häufigsten angeforderten Features aus Kundenfeedback. Die Azure-Computerkonfiguration umfasst auch die Unterstützung von Hybridcomputern über Arc-fähige Server.

Achtung

Azure Automation DSC für Linux wurde am 30. September 2023 eingestellt. Weitere Informationen finden Sie in der Ankündigung.

Dieser Artikel enthält Informationen zur Behebung von Problemen, die beim Kompilieren oder Bereitstellen von Konfigurationen in Azure Automation State Configuration auftreten können. Allgemeine Informationen zum State Configuration-Feature finden Sie unter Übersicht über Azure Automation State Configuration.

Ein Problem diagnostizieren

Wenn Sie einen Kompilierungs- oder Bereitstellungsfehler für die Konfiguration erhalten, finden Sie im Folgenden einige Schritte, mit denen Sie das Problem diagnostizieren können.

1. Sicherstellen, dass Ihre Konfiguration auf dem lokalen Computer erfolgreich kompiliert wird

Azure Automation State Configuration basiert auf PowerShell Desired State Configuration (DSC). Die Dokumentation zur DSC-Sprache und -Syntax finden Sie in der PowerShell DSC-Dokumentation.

Durch das Kompilieren einer DSC auf Ihrem lokalen Computer können Sie unter anderem die folgenden allgemeinen Fehler ermitteln und beheben:

  • Fehlende Module.
  • Syntaxfehler.
  • Logikfehler.

2. Anzeigen der DSC-Protokolle auf Ihrem Knoten

Wenn Ihre Konfiguration erfolgreich kompiliert wird, aber nicht auf einen Knoten angewendet werden kann, finden Sie in den DSC-Protokollen ausführliche Informationen. Informationen zum Speicherort dieser Protokolle finden Sie unter Wo befinden sich die DSC-Ereignisprotokolle?.

Das xDscDiagnostics-Modul kann Ihnen helfen, die Informationen in den DSC-Protokollen analysieren. Wenn Sie sich an den Support wenden, fordert der diese Protokolle zur Diagnose des Problems an.

Sie können das xDscDiagnostics-Modul mithilfe der Anleitungen unter Installation der stabilen Modulversion auf Ihrem lokalen Computer installieren.

Um das xDscDiagnostics-Modul auf Ihrem Azure-Computer zu installieren, verwenden Sie Invoke-AzVMRunCommand. Sie können auch die Option Befehl ausführen im Azure-Portal verwenden, indem Sie die Schritte unter Ausführen von PowerShell-Skripts in Ihrer Windows-VM mit „Befehl ausführen“ verwenden.

Informationen zur Verwendung von xDscDiagnostics finden Sie unter Verwenden von „xDscDiagnostics“ zum Analysieren von DSC-Protokollen. Siehe auch xDscDiagnostics-Cmdlets.

3. Sicherstellen, dass die Knoten und der Automation-Arbeitsbereich über die erforderlichen Module verfügen

DSC ist von den Modulen abhängig, die auf dem Knoten installiert sind. Wenn Sie Azure Automation State Configuration verwenden, importieren Sie alle benötigten Module in Ihr Automation-Konto, indem Sie die Schritte unter Importieren von Modulen ausführen. Konfigurationen können auch von bestimmten Modulversionen abhängen. Weitere Informationen finden Sie unter Problembehandlung bei Modulen.

Szenario: Eine Konfiguration mit speziellen Zeichen kann nicht aus dem Portal gelöscht werden

Problem

Wenn Sie versuchen, eine DSC-Konfiguration aus dem Portal zu löschen, wird der folgende Fehler angezeigt:

An error occurred while deleting the DSC configuration '<name>'. Error-details: The argument
configurationName with the value <name> is not valid. Valid configuration names can contain only
letters, numbers, and underscores. The name must start with a letter. The length of the name must be
between 1 and 64 characters.

Ursache

Dieser Fehler ist ein temporäres Problem. Versuchen Sie es später noch einmal.

Lösung

Verwenden Sie das Cmdlet Remove-AzAutomationDscConfiguration, um die Konfiguration zu löschen.

Szenario: Fehler beim Registrieren des DSC-Agents

Problem

Wenn Sie Set-DscLocalConfigurationManager oder ein anderes DSC-Cmdlet verwenden, wird eine Fehlermeldung angezeigt.

Registration of the Dsc Agent with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000
failed. The underlying error is: Failed to register Dsc Agent with AgentId
00000000-0000-0000-0000-000000000000 with the server
https://<location>-agentservice-prod-1.azure-automation.net/accounts/00000000-0000-0000-0000-000000000000/Nodes(AgentId='00000000-0000-0000-0000-000000000000').
    + CategoryInfo          : InvalidResult: (root/Microsoft/...gurationManager:String) [], CimException
    + FullyQualifiedErrorId : RegisterDscAgentCommandFailed,Microsoft.PowerShell.DesiredStateConfiguration.Commands.RegisterDscAgentCommand
    + PSComputerName        : <computerName>

Ursache

Ein Netzwerkproblem kann diesen Fehler verursachen. Überprüfen Sie Ihre Firewalleinstellungen oder ob sich der Computer hinter einem Proxyserver befindet.

Lösung

Stellen Sie sicher, dass Ihr Computer Zugriff auf die richtigen Endpunkte für DSC hat, und wiederholen Sie den Vorgang. Eine Liste der erforderlichen Ports und Adressen finden Sie unter Netzwerkplanung.

Szenario: Antwortcode „Nicht autorisiert“ in Statusberichten

Problem

Wenn Sie einen Knoten mit Azure Automation State Configuration registrieren, erhalten Sie eine der folgenden Fehlermeldungen:

The attempt to send status report to the server https://{your Automation account
URL}/accounts/xxxxxxxxxxxxxxxxxxxxxx/Nodes(AgentId='xxxxxxxxxxxxxxxxxxxxxxxxx')/SendReport returned
unexpected response code Unauthorized.
VM has reported a failure when processing extension 'Microsoft.Powershell.DSC / Registration of the
Dsc Agent with the server failed.

Ursache

Folgende Ursachen kommen in Betracht:

Lösung

Führen Sie die folgenden Schritte aus, um den fehlerhaften DSC-Knoten neu zu registrieren.

Schritt 1: Heben Sie die Registrierung des Knotens auf.

  1. Wechseln Sie im Azure-Portal zu Startseite>Automation-Konten> [Ihr Automation-Konto] >State Configuration (DSC).
  2. Wählen Sie Knoten aus, und klicken Sie anschließend auf den fehlerhaften Knoten.
  3. Wählen Sie Registrierung aufheben aus, um die Registrierung des Knotens aufzuheben.

Schritt 2: Deinstallieren Sie die DSC-Erweiterung auf dem Knoten.

  1. Wechseln Sie im Azure-Portal zu Startseite>Virtueller Computer> (fehlerhafter Knoten) >Erweiterungen.
  2. Wählen Sie Microsoft.Powershell.DSC aus, die PowerShell DSC-Erweiterung.
  3. Wählen Sie Deinstallieren aus, um die Erweiterung zu deinstallieren.

Schritt 3: Entfernen Sie alle ungültigen oder abgelaufenen Zertifikate vom Knoten.

Führen Sie auf dem fehlerhaften Knoten die folgenden Befehle an einer PowerShell-Eingabeaufforderung mit erhöhten Rechten aus:

$certs = @()
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC"}
$certs += dir cert:\localmachine\my | ?{$_.FriendlyName -like "DSC-OaaS Client Authentication"}
$certs += dir cert:\localmachine\CA | ?{$_.subject -like "CN=AzureDSCExtension*"}
"";"== DSC Certificates found: " + $certs.Count
$certs | FL ThumbPrint,FriendlyName,Subject
If (($certs.Count) -gt 0)
{
    ForEach ($Cert in $certs)
    {
        RD -LiteralPath ($Cert.Pspath)
    }
}

Schritt 4: Registrieren Sie den fehlerhaften Knoten erneut.

  1. Wechseln Sie im Azure-Portal zu Startseite>Automation-Konten> [Ihr Automation-Konto] >State Configuration (DSC).
  2. Wählen Sie Knoten aus.
  3. Klicken Sie auf Hinzufügen.
  4. Wählen Sie den fehlerhaften Knoten aus.
  5. Wählen Sie Verbinden aus, und wählen Sie die gewünschten Optionen aus.

Szenario: Knoten hat den Fehlerstatus „Nicht gefunden“

Problem

Der Knoten hat den Status „Fehler“ mit folgender Meldung zurückgegeben:

The attempt to get the action from server
https://<url>//accounts/<account-id>/Nodes(AgentId=<agent-id>)/GetDscAction failed because a valid
configuration <guid> cannot be found.

Ursache

Dieser Fehler tritt normalerweise auf, wenn der Knoten einem Konfigurationsnamen (z. B. ABC) anstatt einem Knotenkonfigurationsnamen (z. B. ABC.WebServer) zugewiesen ist.

Lösung

  • Stellen Sie sicher, dass Sie den Knoten mit dem Knotenkonfigurationsnamen zuweisen, nicht mit dem Konfigurationsnamen zuweisen.
  • Einem Knoten können Sie über das Azure-Portal oder mit einem PowerShell-Cmdlet eine Knotenkonfiguration zuweisen.
    • Wechseln Sie im Azure-Portal zu Startseite>Automation-Konten> [Ihr Automation-Konto] >State Configuration (DSC). Wählen Sie dann einen Knoten aus, und wählen Sie Knotenkonfiguration zuweisen aus.
    • Verwenden Sie das Cmdlet Set-AzAutomationDscNode.

Szenario: Bei der Kompilierung einer Konfiguration wurden keine Knotenkonfigurationen (MOF-Dateien) erstellt

Problem

Ihr DSC-Kompilierungsauftrag wird mit folgendem Fehler abgebrochen:

Compilation completed successfully, but no node configuration **.mof** files were generated.

Ursache

Wenn der Ausdruck nach dem Schlüsselwort Node in der DSC-Konfiguration als $null ausgewertet wird, werden keine Knotenkonfigurationen erstellt.

Lösung

Beheben Sie dieses Problem mit einer der folgenden Lösungen:

  • Stellen Sie sicher, dass der Ausdruck neben dem Schlüsselwort Node in der Konfigurationsdefinition nicht als NULL ausgewertet wird.
  • Wenn Sie bei der Kompilierung der Konfiguration ConfigurationData übergeben, stellen Sie sicher, dass Sie die Werte übergeben, die von der Konfiguration aus den Konfigurationsdaten erwartet werden.

Szenario: Der DSC-Knotenbericht bleibt im Status „In Bearbeitung“ hängen

Problem

Der DSC-Agent gibt Folgendes aus:

No instance found with given property values

Ursache

Dieses Problem kann auftreten, wenn die Windows Management Instrumentation (WMI) auf dem Knoten beschädigt ist.

Lösung

Befolgen Sie die Anweisungen unter Bekannte Probleme und Einschränkungen in DSC.

Szenario: In einer DSC-Konfiguration können keine Anmeldeinformationen verwendet werden

Problem

Ihr DSC-Kompilierungsauftrag wurde mit folgendem Fehler abgebrochen:

System.InvalidOperationException error processing property 'Credential' of type <some resource
name>: Converting and storing an encrypted password as plaintext is allowed only if
PSDscAllowPlainTextPassword is set to true.

Ursache

Dieses Problem kann auftreten, wenn Sie eine Anmeldeinformation in einer Konfiguration verwenden, aber nicht ordnungsgemäß ConfigurationData zur Verfügung gestellt haben, um PSDscAllowPlainTextPassword für jede Knotenkonfiguration auf „true“ festzulegen.

Lösung

Stellen Sie sicher, dass Sie die richtigen ConfigurationData weitergeben, und PSDscAllowPlainTextPassword für jede Knotenkonfiguration auf „true“ festlegen. Weitere Informationen finden Sie unter Kompilieren von DSC-Konfigurationen in Azure Automation State Configuration.

Szenario: „Fehler beim Verarbeiten der Erweiterung“ beim Aktivieren eines Computers über eine DSC-Erweiterung

Problem

Beim Aktivieren eines Computers mithilfe einer DSC-Erweiterung tritt der folgende Fehler auf:

VM has reported a failure when processing extension 'Microsoft.Powershell.DSC'. Error message: \"DSC
COnfiguration 'RegistrationMetaConfigV2' completed with error(s). Following are the first few:
Registration of the Dsc Agent with the server <url> failed. The underlying error is: The attempt to
register Dsc Agent with Agent Id <ID> with the server <url> return unexpected response code
BadRequest. .\".

Ursache

Dieser Fehler tritt in der Regel auf, wenn dem Knoten ein Knotenkonfigurationsname zugewiesen wurde, der im Dienst nicht vorhanden ist.

Lösung

Stellen Sie sicher, dass der Knotenname exakt dem Namen im Dienst entspricht. Schließen Sie ansonsten den Knotenkonfigurationsnamen nicht ein. Dadurch wird der Knoten aktiviert, aber keine Knotenkonfiguration zugewiesen.

Szenario: Fehler „Es ist mindestens ein Fehler aufgetreten“ beim Registrieren eines Knotens mit PowerShell

Problem

Wenn Sie einen Knoten mithilfe von Register-AzAutomationDSCNode oder Register-AzureRMAutomationDSCNode registrieren, erhalten Sie folgenden Fehler:

One or more errors occurred.

Ursache

Dieser Fehler tritt auf, wenn Sie versuchen, einen Knoten in einem Abonnement zu registrieren, das sich von dem vom Automatisierungskonto unterscheidet.

Lösung

Behandeln Sie das knotenübergreifende Abonnement als Knoten, der für eine separate Cloud oder lokal definiert ist. Registrieren Sie den Knoten mit einer der folgenden Optionen für die Aktivierung von Computern:

Szenario: Fehlermeldung „Fehler beim Bereitstellen“

Problem

Beim Registrieren eines Knotens tritt der folgende Fehler auf:

Provisioning has failed

Ursache

Diese Meldung ist auf ein Konnektivitätsproblem zwischen dem Knoten und Azure zurückzuführen.

Lösung

Ermitteln Sie, ob sich Ihr Knoten in einem virtuellen privaten Netzwerk (VPN) befindet oder ob andere Probleme beim Herstellen einer Verbindung mit Azure vorliegen. Weitere Informationen finden Sie unter Beheben von Problemen bei der Featurebereitstellung.

Szenario: Allgemeiner Fehler beim Anwenden einer Konfiguration in Linux

Problem

Wenn Sie eine Konfiguration in Linux anwenden, bei der der folgende Fehler auftritt:

This event indicates that failure happens when LCM is processing the configuration. ErrorId is 1.
ErrorDetail is The SendConfigurationApply function did not succeed.. ResourceId is [resource]name
and SourceInfo is ::nnn::n::resource. ErrorMessage is A general error occurred, not covered by a
more specific error code..

Ursache

Wenn der Speicherort /tmp auf noexec festgelegt ist, kann die aktuelle DSC-Version keine Konfigurationen anwenden.

Lösung

Entfernen Sie die Option noexec aus dem Speicherort /tmp.

Szenario: Sich überschneidende Knotenkonfigurationsnamen können zu einem fehlerhaften Release führen

Problem

Wenn Sie zum Generieren mehrerer Knotenkonfigurationen ein einzelnes Skript verwenden und einige der Knotenkonfigurationsnamen in anderen Namen enthalten sind, kann es passieren, dass der Kompilierungsdienst die falsche Konfiguration zuweist. Dieses Problem tritt nur dann auf, wenn ein einzelnes Skript zum Generieren von Konfigurationen mit Konfigurationsdaten pro Knoten verwendet wird und die Namensüberschneidung am Anfang der Zeichenfolge auftritt. Beispiel: Ein einzelnes Konfigurationsskript wird zum Generieren von Konfigurationen auf der Grundlage von Knotendaten verwendet, die mit Cmdlets als Hashtabelle übergeben werden, und die Knotendaten enthalten Server namens server und 1server.

Ursache

Dies ist ein bekanntes Problem beim Kompilierungsdienst.

Lösung

Dieses Problem lässt sich am besten umgehen, indem Sie die Kompilierung lokal oder in einer CI/CD-Pipeline ausführen und die MOF-Dateien mit der Knotenkonfiguration direkt in den Dienst hochladen. Muss die Kompilierung im Dienst erfolgen, besteht die zweitbeste Problemumgehung darin, die Kompilierungsaufträge aufzuteilen, sodass es keine Überschneidungen bei den Namen gibt.

Szenario: Gatewaytimeoutfehler beim Hochladen der DSC-Konfiguration

Problem

Wenn Sie eine DSC-Konfiguration hochladen, erhalten Sie einen GatewayTimeout-Fehler.

Ursache

Bei DSC-Konfigurationen, deren Kompilierung lange Zeit in Anspruch nimmt, kann dieser Fehler verursacht werden.

Lösung

Sie können die Analyse Ihrer DSC-Konfigurationen beschleunigen, indem Sie den ModuleName-Parameter explizit für alle Import-DSCResource-Aufrufe einschließen.

Szenario: Fehler beim Onboarding eines Computers

Problem

Beim Onboarding eines Computers wird eine Fehlermeldung agent has a problem angezeigt.

Ursache

Dies ist ein bekanntes Problem. Sie können dieselbe Konfiguration nicht erneut zuweisen, weil sich der Knoten im Status „Ausstehend“ befindet.

Lösung

Um das Problem zu umgehen, wenden Sie eine andere Testkonfiguration an, und versuchen Sie die ursprüngliche Konfiguration erneut.

Nächste Schritte

Wenn Ihr Problem hier nicht aufgeführt wird oder Sie es nicht lösen können, besuchen Sie einen der folgenden Unterstützungskanäle:

  • Erhalten Sie Antworten von Azure-Experten über Azure-Foren.
  • Kontaktieren Sie @AzureSupport, das offizielle Microsoft Azure-Konto für die Optimierung der Customer Experience. Der Azure-Support verbindet die Azure-Community mit Antworten, Support und Experten.
  • Erstellen Sie einen Azure-Supportfall. Wechseln Sie zur Azure-Supportwebsite, und wählen Sie Support erhalten aus.