Udostępnij za pośrednictwem


Rozwiązywanie problemów z usługą Azure Automation State Configuration

Uwaga

Usługa Azure Automation State Configuration zostanie wycofana 30 września 2027 r., przechodząc do usługi Azure Machine Configuration do tej daty. Aby uzyskać więcej informacji, zobacz ogłoszenie w blogu. Usługa Azure Machine Configuration łączy funkcje rozszerzenia DSC, usługi Azure Automation State Configuration i najczęściej żądanych funkcji opinii klientów. Usługa Azure Machine Configuration obejmuje również obsługę maszyn hybrydowych za pośrednictwem serwerów z obsługą usługi Arc.

Ten artykuł zawiera informacje na temat rozwiązywania i rozwiązywania problemów występujących podczas kompilowania lub wdrażania konfiguracji w usłudze Azure Automation State Configuration. Aby uzyskać ogólne informacje na temat funkcji State Configuration, zobacz Omówienie usługi Azure Automation State Configuration.

Diagnozowanie problemu

Jeśli wystąpi błąd kompilacji lub wdrożenia konfiguracji, poniżej przedstawiono kilka kroków, które ułatwiają diagnozowanie problemu.

1. Upewnij się, że konfiguracja została pomyślnie skompilowana na komputerze lokalnym

Usługa Azure Automation State Configuration jest oparta na konfiguracji żądanego stanu programu PowerShell (DSC). Dokumentację dotyczącą języka DSC i składni można znaleźć w dokumentacji dsc programu PowerShell.

Kompilując konfigurację DSC na komputerze lokalnym, możesz odnaleźć i rozwiązać typowe błędy, takie jak:

  • Brak modułów.
  • Błędy składniowe.
  • Błędy logiki.

2. Wyświetlanie dzienników DSC w węźle

Jeśli konfiguracja zostanie pomyślnie skompilowana, ale nie powiedzie się w przypadku zastosowania do węzła, szczegółowe informacje można znaleźć w dziennikach DSC. Aby uzyskać informacje o tym, gdzie można znaleźć te dzienniki, zobacz Gdzie znajdują się dzienniki zdarzeń DSC.

Moduł xDscDiagnostics może pomóc w analizowaniu szczegółowych informacji z dzienników DSC. Jeśli skontaktujesz się z pomocą techniczną, wymagają one tych dzienników w celu zdiagnozowania problemu.

Moduł można zainstalować xDscDiagnostics na komputerze lokalnym, postępując zgodnie z instrukcjami w temacie Instalowanie modułu stabilnej wersji.

Aby zainstalować xDscDiagnostics moduł na maszynie platformy Azure, użyj polecenia Invoke-AzVMRunCommand. Możesz również użyć opcji Uruchom polecenie w witrynie Azure Portal, wykonując kroki opisane w temacie Uruchamianie skryptów programu PowerShell na maszynie wirtualnej z systemem Windows za pomocą polecenia Uruchom.

Aby uzyskać informacje na temat korzystania z narzędzia xDscDiagnostics, zobacz Using xDscDiagnostics to analyze DSC logs (Używanie narzędzia xDscDiagnostics do analizowania dzienników DSC). Zobacz również polecenia cmdlet xDscDiagnostics.

3. Upewnij się, że węzły i obszar roboczy usługi Automation mają wymagane moduły

Rozszerzenie DSC zależy od modułów zainstalowanych w węźle. W przypadku korzystania z usługi Azure Automation State Configuration zaimportuj wszystkie wymagane moduły na konto usługi Automation, wykonując kroki opisane w temacie Importowanie modułów. Konfiguracje mogą również mieć zależność od określonych wersji modułów. Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z modułami.

Scenariusz: Nie można usunąć konfiguracji ze znakami specjalnymi z portalu

Problem

Podczas próby usunięcia konfiguracji DSC z portalu zostanie wyświetlony następujący błąd:

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.

Przyczyna

Ten błąd jest tymczasowym problemem. Spróbuj ponownie później.

Rozwiązanie

Użyj polecenia cmdlet Remove-AzAutomationDscConfiguration, aby usunąć konfigurację.

Scenariusz: Nie można zarejestrować agenta DSC

Problem

Podczas używania polecenia Set-DscLocalConfigurationManager lub innego polecenia cmdlet DSC występuje błąd.

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>

Przyczyna

Problem z siecią może spowodować ten błąd. Sprawdź ustawienia zapory lub jeśli maszyna jest za serwerem proxy.

Rozwiązanie

Sprawdź, czy maszyna ma dostęp do odpowiednich punktów końcowych dla rozszerzenia DSC i spróbuj ponownie. Aby uzyskać listę wymaganych portów i adresów, zobacz Planowanie sieci.

Scenariusz: Raporty o stanie zwracają kod odpowiedzi Brak autoryzacji

Problem

Podczas rejestrowania węzła w usłudze Azure Automation State Configuration jest wyświetlany jeden z następujących komunikatów o błędach:

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.

Przyczyna

Poniżej przedstawiono możliwe przyczyny:

  • Nieprawidłowy lub wygasły certyfikat. Zobacz Ponowne rejestrowanie węzła.

  • Konfiguracja serwera proxy, która nie zezwala na dostęp do *.azure-automation.netusługi . Aby uzyskać więcej informacji, zobacz Konfiguracja sieci prywatnych.

  • Po wyłączeniu uwierzytelniania lokalnego w usłudze Azure Automation. Zobacz Wyłączanie uwierzytelniania lokalnego. Aby rozwiązać ten problem, zobacz Ponowne włączanie uwierzytelniania lokalnego.

  • Czas komputera klienckiego jest o wiele minut niedokładny od rzeczywistego czasu. Użyj następującego polecenia, aby sprawdzić czas: w32tm /stripchart /computer:time.windows.com /samples:6.

Rozwiązanie

Wykonaj następujące kroki, aby ponownie zarejestrować węzeł DSC, który kończy się niepowodzeniem.

Krok 1. Wyrejestrowywanie węzła

  1. W witrynie Azure Portal przejdź do pozycji Konta> usługi Home>Automation (twoje konto usługi Automation) >Konfiguracja stanu (DSC).
  2. Wybierz pozycję Węzły i wybierz węzeł, który ma problemy.
  3. Wybierz pozycję Wyrejestruj , aby wyrejestrować węzeł.

Krok 2. Odinstalowanie rozszerzenia DSC z węzła

  1. W witrynie Azure Portal przejdź do pozycji> Główne rozszerzenia maszyny> wirtualnej (węzeł, który kończy się niepowodzeniem). >
  2. Wybierz pozycję Microsoft.Powershell.DSC, rozszerzenie DSC programu PowerShell.
  3. Wybierz pozycję Odinstaluj , aby odinstalować rozszerzenie.

Krok 3. Usuwanie wszystkich złych lub wygasłych certyfikatów z węzła

W węźle, który kończy się niepowodzeniem z wiersza polecenia programu PowerShell z podwyższonym poziomem uprawnień, uruchom następujące polecenia:

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

Krok 4. Ponowne rejestrowanie węzła zakończonego niepowodzeniem

  1. W witrynie Azure Portal przejdź do pozycji Konta> usługi Home>Automation (twoje konto usługi Automation) >Konfiguracja stanu (DSC).
  2. Wybierz pozycję Węzły.
  3. Wybierz Dodaj.
  4. Wybierz węzeł, który kończy się niepowodzeniem.
  5. Wybierz pozycję Połącz i wybierz odpowiednie opcje.

Scenariusz: Węzeł jest w stanie niepowodzenia z błędem "Nie znaleziono"

Problem

Węzeł ma raport ze stanem Niepowodzenie i zawiera błąd:

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.

Przyczyna

Ten błąd występuje zwykle, gdy węzeł jest przypisany do nazwy konfiguracji, na przykład ABC, zamiast nazwy konfiguracji węzła (pliku MOF), na przykład ABC. Serwer sieci Web.

Rozwiązanie

  • Upewnij się, że przypisujesz węzeł z nazwą konfiguracji węzła, a nie nazwą konfiguracji.
  • Konfigurację węzła można przypisać do węzła przy użyciu witryny Azure Portal lub polecenia cmdlet programu PowerShell.
    • W witrynie Azure Portal przejdź do pozycji Konta> usługi Home>Automation (twoje konto usługi Automation) >Konfiguracja stanu (DSC). Następnie wybierz węzeł i wybierz pozycję Przypisz konfigurację węzła.
    • Użyj polecenia cmdlet Set-AzAutomationDscNode.

Scenariusz: podczas kompilowania konfiguracji nie utworzono żadnych konfiguracji węzłów (plików MOF)

Problem

Zadanie kompilacji DSC zawiesza się z powodu błędu:

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

Przyczyna

Gdy wyrażenie następujące po słowie Node kluczowym w konfiguracji DSC zwróci wartość $null, nie są generowane żadne konfiguracje węzłów.

Rozwiązanie

Aby rozwiązać ten problem, użyj jednego z następujących rozwiązań:

  • Upewnij się, że wyrażenie obok słowa kluczowego Node w definicji konfiguracji nie jest obliczane na wartość Null.
  • Jeśli przekazujesz dane ConfigurationData podczas kompilowania konfiguracji, upewnij się, że przekazujesz wartości oczekiwane przez konfigurację z danych konfiguracji.

Scenariusz: raport węzła DSC zostaje zablokowany w stanie W toku

Problem

Dane wyjściowe agenta DSC:

No instance found with given property values

Przyczyna

Ten problem może wystąpić, jeśli instrumentacja zarządzania Windows (WMI) jest uszkodzona w węźle.

Rozwiązanie

Postępuj zgodnie z instrukcjami w artykule DSC znane problemy i ograniczenia.

Scenariusz: Nie można użyć poświadczeń w konfiguracji DSC

Problem

Zadanie kompilacji DSC zostało zawieszone z powodu błędu:

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.

Przyczyna

Ten problem może wystąpić, gdy używasz poświadczeń w konfiguracji, ale nie określono odpowiedniego ConfigurationData ustawienia PSDscAllowPlainTextPassword wartości true dla każdej konfiguracji węzła.

Rozwiązanie

Pamiętaj, aby przekazać odpowiednie ConfigurationDataustawienie PSDscAllowPlainTextPassword , na wartość true dla każdej konfiguracji węzła. Zobacz Kompilowanie konfiguracji DSC w usłudze Azure Automation State Configuration.

Scenariusz: błąd "Rozszerzenie przetwarzania awarii" podczas włączania maszyny z rozszerzenia DSC

Problem

Po włączeniu maszyny przy użyciu rozszerzenia DSC występuje błąd zawierający błąd:

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

Przyczyna

Ten błąd występuje zwykle, gdy węzeł ma przypisaną nazwę konfiguracji węzła, która nie istnieje w usłudze.

Rozwiązanie

Upewnij się, że nazwa węzła, która dokładnie odpowiada nazwie w usłudze, lub nie zawiera nazwy konfiguracji węzła. Włącza to węzeł, ale nie przypisuje konfiguracji węzła.

Scenariusz: błąd "Wystąpił co najmniej jeden błąd" podczas rejestrowania węzła przy użyciu programu PowerShell

Problem

Podczas rejestrowania węzła przy użyciu polecenia Register-AzAutomationDSCNode lub Register-AzureRMAutomationDSCNode występuje następujący błąd:

One or more errors occurred.

Przyczyna

Ten błąd występuje podczas próby zarejestrowania węzła w subskrypcji innej niż ta używana przez konto usługi Automation.

Rozwiązanie

Traktuj węzeł między subskrypcjami jako węzeł zdefiniowany dla oddzielnej chmury lub środowiska lokalnego. Zarejestruj węzeł przy użyciu jednej z następujących opcji włączania maszyn:

Scenariusz: komunikat o błędzie "Inicjowanie obsługi administracyjnej nie powiodło się"

Problem

Podczas rejestrowania węzła zostanie wyświetlony błąd:

Provisioning has failed

Przyczyna

Ten komunikat występuje, gdy występuje problem z łącznością między węzłem a platformą Azure.

Rozwiązanie

Ustal, czy węzeł znajduje się w wirtualnej sieci prywatnej (VPN) lub ma inne problemy z nawiązywaniem połączenia z platformą Azure. Zobacz Rozwiązywanie problemów z wdrażaniem funkcji.

Scenariusz: Błąd z ogólnym błędem podczas stosowania konfiguracji w systemie Linux

Problem

Po zastosowaniu konfiguracji w systemie Linux wystąpi błąd zawierający błąd:

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

Przyczyna

Jeśli /tmp lokalizacji jest ustawiona na noexec, bieżąca wersja DSC nie może zastosować konfiguracji.

Rozwiązanie

noexec Usuń opcję z lokalizacji /tmp.

Scenariusz: nazwy konfiguracji węzła, które nakładają się na siebie, mogą spowodować nieprawidłowe wydanie

Problem

Jeśli używasz pojedynczego skryptu konfiguracji do generowania wielu konfiguracji węzłów, a niektóre nazwy konfiguracji węzła są podzestawami innych nazw, usługa kompilacji może w końcu przypisać nieprawidłową konfigurację. Ten problem występuje tylko wtedy, gdy używasz pojedynczego skryptu do generowania konfiguracji z danymi konfiguracji na węzeł i tylko wtedy, gdy nazwa nakłada się na siebie na początku ciągu. Przykładem jest pojedynczy skrypt konfiguracji służący do generowania konfiguracji na podstawie danych węzła przekazywanych jako tabela skrótu przy użyciu poleceń cmdlet, a dane węzła obejmują serwery o nazwie serwer i 1server.

Przyczyna

Jest to znany problem z usługą kompilacji.

Rozwiązanie

Najlepszym obejściem jest skompilowanie lokalnie lub w potoku ciągłej integracji/ciągłego wdrażania i przekazanie plików MOF konfiguracji węzła bezpośrednio do usługi. Jeśli kompilacja w usłudze jest wymagana, następnym najlepszym obejściem jest podzielenie zadań kompilacji tak, aby nazwy nie nakładały się na siebie.

Scenariusz: błąd przekroczenia limitu czasu bramy podczas przekazywania konfiguracji DSC

Problem

Podczas przekazywania konfiguracji DSC występuje GatewayTimeout błąd.

Przyczyna

Konfiguracje DSC, które kompilacja zajmuje dużo czasu, mogą spowodować ten błąd.

Rozwiązanie

Konfiguracje DSC można szybciej analizować, jawnie włączając ModuleName parametr dla dowolnych wywołań Import-DSCResource .

Scenariusz: Błąd podczas dołączania maszyny

Problem

Podczas dołączania maszyny występuje agent has a problem błąd.

Przyczyna

Jest to znany problem. Nie można ponownie przypisać tej samej konfiguracji, ponieważ węzeł pozostaje w stanie oczekiwania.

Rozwiązanie

Aby obejść ten problem, zastosuj inną konfigurację testu i spróbuj ponownie wykonać oryginalną konfigurację.

Następne kroki

Jeśli w tym miejscu nie widzisz problemu lub nie możesz rozwiązać problemu, spróbuj wykonać jedną z następujących kanałów pomocy technicznej:

  • Uzyskaj odpowiedzi od ekspertów platformy Azure za pośrednictwem forów platformy Azure.
  • Połącz się z @AzureSupport oficjalnym kontem platformy Microsoft Azure, aby poprawić jakość obsługi klienta. Pomoc techniczna platformy Azure łączy społeczność platformy Azure z odpowiedziami, pomocą techniczną i ekspertami.
  • Zgłoś zdarzenie pomoc techniczna platformy Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Uzyskaj pomoc techniczną.