Udostępnij za pośrednictwem


Rozwiązywanie problemów wykonania runbooka przy użyciu PowerShell w usłudze Azure Automation

Ten artykuł zawiera wskazówki dotyczące diagnozowania i rozwiązywania problemów z realizacją runbooku, które pojawiają się podczas korzystania ze skryptów lub poleceń cmdlet PowerShell w usłudze Azure Automation.

Uwaga / Notatka

Usługa Azure Automation umożliwia odzyskiwanie elementów runbook usuniętych w ciągu ostatnich 29 dni. Usunięty Runbook można przywrócić, uruchamiając skrypt programu PowerShell jako zadanie na koncie automatyzacji. Aby uzyskać więcej informacji, zobacz Przywracanie usuniętego elementu runbook.

Ograniczenia i znane problemy z elementami Runbook programu PowerShell

Runbooki Windows PowerShell są oparte na programie Windows PowerShell. Kod można edytować bezpośrednio przy użyciu edytora tekstów w witrynie Azure Portal. Możesz również użyć edytora tekstów w trybie offline, a następnie zaimportować elementy runbook do usługi Azure Automation. Wersja programu PowerShell jest określana przez określoną wersję środowiska uruchomieniowego .

Ograniczenia:

  • W przypadku wersji środowiska uruchomieniowego programu PowerShell 7 działania modułu nie są wyodrębniane dla zaimportowanych modułów.
  • Typ parametru PSCredential elementu Runbook nie jest obsługiwany w wersji środowiska uruchomieniowego programu PowerShell 7.
  • Program PowerShell 7.x nie obsługuje runbooków przepływów pracy. Aby uzyskać więcej informacji, zobacz Przepływ pracy programu PowerShell.
  • Program PowerShell 7.x obecnie nie obsługuje podpisanych runbooków.
  • Integracja kontroli źródła nie obsługuje programu PowerShell 7.2. Runbooki programu PowerShell 7.2 w kontroli źródła są tworzone na koncie Automatyzacji z wykorzystaniem środowiska uruchomieniowego 5.1.
  • Obecnie tylko zadania w chmurze są obsługiwane dla środowiska uruchomieniowego programu PowerShell 7.2.
  • Używanie modułów Az i modułów AzureRM w ramach tego samego konta usługi Automation nie jest obsługiwane. Aby uzyskać więcej informacji, zobacz Aktualizowanie modułów programu Azure PowerShell w usłudze Automation.

Znane problemy:

  • Właściwości elementu Runbook definiujące preferencje rejestrowania nie są obsługiwane w środowisku uruchomieniowym programu PowerShell 7.

    Aby obejść ten problem, jawnie ustaw preferencje na początku elementu Runbook w następujący sposób:

    $VerbosePreference = "Continue"
    $ProgressPreference = "Continue"
    
  • W przypadku korzystania z modułu ExchangeOnlineManagement w wersji 3.0.0 lub nowszej mogą wystąpić błędy.

    Aby rozwiązać ten problem, upewnij się, że jawnie przesłać moduły PowerShellGet i PackageManagement.

Przed rozpoczęciem rozwiązywania problemów

Wykonaj następujące kroki, aby zidentyfikować i rozwiązać typowe błędy przed dalszym rozwiązywaniem problemów:

  1. Sprawdź, czy skrypt programu PowerShell działa poza usługą Azure Automation.
  2. Sprawdź, czy wymagane moduły są importowane na konto usługi Azure Automation.

Problem 1. Wykonywanie procesu Runbook kończy się niepowodzeniem z powodu zdeserializowanego obiektu

Objawy:

Po uruchomieniu procedury Runbook może zostać wyświetlony następujący komunikat o błędzie:

Nie można powiązać parametru <NazwaParametru>.

Nie można przekonwertować wartości <ParameterType> typu Deserialized <ParameterType> na typ <ParameterType>.

Przyczyna:

Ten błąd występuje w przypadku runbooków przepływu pracy programu PowerShell, ponieważ przepływ pracy programu PowerShell przechowuje złożone obiekty w zdeserializowanym formacie, aby utrwalić stan runbooka po zawieszeniu przepływu pracy.

Rozwiązanie:

Aby rozwiązać ten problem, skorzystaj z jednej z poniższych metod:

  • Jeśli przekazujesz złożone obiekty z jednego cmdletu PowerShell do innego, umieszczaj te cmdlety w aktywności InlineScript.
  • Przekaż nazwę lub wartość, której potrzebujesz, z obiektu złożonego zamiast przekazywać cały obiekt.
  • Użyj elementu Runbook programu PowerShell zamiast elementu Runbook przepływu pracy programu PowerShell.

Problem 2. Zadania programu PowerShell kończą się niepowodzeniem z powodu błędu "Nie można wywołać metody"

Objawy:

Po uruchomieniu zadania programu PowerShell w elemecie Runbook uruchomionym w piaskownicy platformy Azure zostanie wyświetlony następujący komunikat o błędzie:

Zgłoszono wyjątek — nie można wywołać metody. Wywołanie metody jest obsługiwane tylko dla typów podstawowych w tym trybie językowym.

Przyczyna:

Ten błąd może wystąpić, ponieważ element Runbook nie może działać w trybie pełnego języka.

Rozwiązanie:

Aby rozwiązać ten błąd, użyj jednej z następujących metod:

Źródło

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii na temat platformy Azure.