Rozwiązywanie problemów z zasobami udostępnionymi

W tym artykule omówiono problemy, które mogą wystąpić podczas korzystania z zasobów dostępnych w Azure Automation.

Moduły

Scenariusz: moduł jest zablokowany podczas importowania

Problem

Moduł jest zablokowany w stanie Importowanie podczas importowania lub aktualizowania modułów Azure Automation.

Przyczyna

Ponieważ importowanie modułów programu PowerShell jest złożonym, wieloetapowym procesem moduł może nie zostać zaimportowany poprawnie i może zostać zablokowany w stanie przejściowym. Aby dowiedzieć się więcej na temat procesu importowania, zobacz Importowanie modułu programu PowerShell.

Rozwiązanie

Aby rozwiązać ten problem, należy usunąć moduł, który został zablokowany przy użyciu polecenia cmdlet Remove-AzAutomationModule . Następnie możesz ponowić próbę zaimportowania modułu.

Remove-AzAutomationModule -Name ModuleName -ResourceGroupName ExampleResourceGroup -AutomationAccountName ExampleAutomationAccount -Force

Scenariusz: moduły AzureRM utknęły podczas importowania po próbie aktualizacji

Problem

Baner z następującym komunikatem pozostaje na Twoim koncie po próbie aktualizacji modułów AzureRM:

Azure modules are being updated

Przyczyna

Istnieje znany problem z aktualizowaniem modułów AzureRM na koncie usługi Automation. W szczególności problem występuje, gdy moduły znajdują się w grupie zasobów o nazwie numerycznej zaczynającej się od 0.

Rozwiązanie

Aby zaktualizować moduły AzureRM na koncie usługi Automation, konto musi znajdować się w grupie zasobów o nazwie alfanumerycznej. Grupy zasobów o nazwach numerycznych zaczynających się od 0 nie mogą obecnie aktualizować modułów AzureRM.

Scenariusz: Zaimportowanie modułu zakończyło się niepowodzeniem lub po zaimportowaniu nie można wykonać poleceń cmdlet

Problem

Zaimportowanie modułu zakończyło się niepowodzeniem lub import przebiegł pomyślnie, ale nie zostały wyodrębnione żadne polecenia cmdlet.

Przyczyna

Oto niektóre typowe przyczyny, dla których moduł może nie zostać pomyślnie zaimportowany do Azure Automation:

  • Struktura nie jest zgodna ze strukturą wymaganą przez Automation.
  • Moduł zależy od innego modułu, który nie został wdrożony na koncie usługi Azure Automation.
  • Brak zależności modułu w folderze.
  • Polecenie cmdlet New-AzAutomationModule jest używane do przekazywania modułu, ale nie podano pełnej ścieżki przechowywania albo nie załadowano modułu przy użyciu publicznie dostępnego adresu URL.

Rozwiązanie

Użyj dowolnego z tych rozwiązań, aby rozwiązać ten problem:

  • Upewnij się, że moduł ma następujący format: ModuleName.zip —> ModuleName lub Version Number —> (ModuleName.psm1, ModuleName.psd1).
  • Otwórz plik psd1 i sprawdź, czy moduł ma jakiekolwiek zależności. Jeśli tak, przekaż te moduły do konta usługi Azure Automation.
  • Upewnij się, że wszystkie przywoływania .dll plików znajdują się w folderze modułu.

Scenariusz: skrypt Update-AzureModule.ps1 zawiesza się podczas aktualizacji modułów

Problem

Jeśli używasz elementu runbook Update-AzureModule.ps1 w celu zaktualizowania modułów Azure, proces aktualizacji modułu zostanie zawieszony.

Przyczyna

W przypadku tego elementu Runbook ustawienie domyślne określające, ile modułów jest aktualizowanych jednocześnie, wynosi 10. Proces aktualizacji jest podatny na błędy, gdy zbyt wiele modułów jest aktualizowanych w tym samym czasie.

Rozwiązanie

Nie jest powszechne, aby wszystkie moduły AzureRM lub Az były wymagane na tym samym koncie Automation. Należy zaimportować tylko określone, potrzebne moduły.

Uwaga

Unikaj importowania całego modułu Az.Automation lub AzureRM.Automation, gdyż powoduje to zaimportowanie wszystkich zawartych modułów.

Jeśli proces aktualizacji zostanie zawieszony, dodaj SimultaneousModuleImportJobCount parametr do skryptu Update-AzureModules.ps1 i podaj niższą wartość niż domyślna 10. Jeśli zaimplementujesz tę logikę, spróbuj zacząć od wartości 3 lub 5. SimultaneousModuleImportJobCount stanowi parametr Update-AutomationAzureModulesForAccount, elementu runbooka systemu służący do aktualizowania modułów Azure. Jeśli wprowadzisz tę korektę, proces aktualizacji działa dłużej, ale ma większe szanse na ukończenie. W poniższym przykładzie przedstawiono parametr i lokalizację, w której należy umieścić go w elemecie Runbook:

$Body = @"
   {
      "properties":{
      "runbook":{
            "name":"Update-AutomationAzureModulesForAccount"
      },
      "parameters":{
            ...
            "SimultaneousModuleImportJobCount":"3",
            ... 
      }
      }
   }
"@

Konta Uruchom jako

Uwaga

Azure Automation konta Run as, w tym klasyczne konta Run as, zostały wycofane do 30 września 2023 r. i zastąpione Managed Identities. Nie można już tworzyć ani odnawiać kont Run as za pośrednictwem portalu Azure. Aby uzyskać więcej informacji, zobacz przeprowadzanie migracji z istniejących kont Uruchom jako do tożsamości zarządzanej.

Scenariusz: Przy uruchamianiu runbooka występuje błąd 'Nie można odnaleźć punktu wejścia o nazwie 'GetPerAdapterInfo' w pliku DLL 'iplpapi.dll''

Problem

Podczas wykonywania runbooka otrzymujesz następujący wyjątek:

Unable to find an entry point named 'GetPerAdapterInfo' in DLL 'iplpapi.dll'

Przyczyna

Najprawdopodobniej ten błąd jest spowodowany niepoprawnie skonfigurowanym kontem Uruchom jako.

Rozwiązanie

Upewnij się, że konto Uruchom jako zostało prawidłowo skonfigurowane. Następnie sprawdź, czy w elemencie Runbook jest odpowiedni kod do uwierzytelniania w Azure. W poniższym przykładzie pokazano fragment kodu do uwierzytelniania w Azure w runbooku przy użyciu konta Run As.

$connection = Get-AutomationConnection -Name AzureRunAsConnection
Connect-AzAccount -ServicePrincipal -Tenant $connection.TenantID `
-ApplicationID $connection.ApplicationID -CertificateThumbprint $connection.CertificateThumbprint

Następne kroki

Jeśli ten artykuł nie rozwiąże problemu, wypróbuj jeden z następujących kanałów, aby uzyskać dodatkową pomoc techniczną:

  • Uzyskaj odpowiedzi od ekspertów Azure za pośrednictwem forów Azure.
  • Nawiąż połączenie z @AzureSupport. Jest to oficjalne konto Microsoft Azure służące do łączenia społeczności Azure z odpowiednimi zasobami: odpowiedziami, pomocą techniczną i ekspertami.
  • Jeśli planujesz otworzyć zgłoszenie do pomocy technicznej dla nierozwiązanego problemu, przed otwarciem zbierz wymagane dane diagnostyczne. Zobacz Dane do zebrania podczas otwierania przypadku dla Microsoft Azure Automation.
  • Zgłoś zgłoszenie do wsparcia Azure. Przejdź do witryny pomoc techniczna platformy Azure i wybierz pozycję Pobierz pomoc techniczną.