Поделиться через


Устранение проблем с общими ресурсами

В этой статье обсуждаются проблемы, которые могут возникать при использовании общих ресурсов в службе автоматизации Azure.

Модули

Сценарий. Модуль завис во время импорта

Проблема

При импорте или обновлении модуля в службе автоматизации Azure обнаружилось, что модуль завис в состоянии Импорт.

Причина

Так как импорт модулей PowerShell — это сложный многоэтапный процесс, модуль может быть неправильно импортирован и может зависнуть в переходном состоянии. Подробнее о процессе импорта см. в статье Импорт модуля PowerShell.

Разрешение

Чтобы устранить эту проблему, необходимо удалить зависший модуль с помощью командлета Remove-AzAutomationModule. Затем можно повторить импорт модуля.

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

Сценарий: модули AzureRM зависают во время импорта после попытки обновления

Проблема

После попытки обновления модулей AzureRM в вашей учетной записи остается баннер со следующим сообщением.

Azure modules are being updated

Причина

Это известная проблема, которая может возникать при обновлении модулей AzureRM в учетной записи службы автоматизации. Эта проблема, в частности, возникает, если модули находятся в группе ресурсов, имя которой представляет собой число и начинается с 0.

Разрешение

Чтобы была возможность обновить модули AzureRM в учетной записи службы автоматизации, учетная запись должна находиться в группе ресурсов с буквенно-цифровым именем. В настоящее время в группах ресурсов с цифровыми именами, начинающимися с 0, модули AzureRM обновить невозможно.

Сценарий: не удается импортировать модуль или командлеты не выполняются после импорта

Проблема

Модулю не удается осуществить импорт, либо импорт выполнен успешно, но командлеты не извлекаются.

Причина

Ниже приведены наиболее распространенные причины, из-за которых модуль не может успешно завершить импорт в службу автоматизации Azure.

  • Структура не соответствует той, которая требуется для службы автоматизации.
  • Модуль зависит от другого модуля, который не был развернут в учетной записи службы автоматизации.
  • В папке отсутствуют зависимости модуля.
  • Командлет New-AzAutomationModule используется для передачи модуля, при этом полный путь для хранения не указан или модуль не загружен с помощью общедоступного URL-адреса.

Разрешение

Для решения проблемы используйте одно из следующих решений.

  • Убедитесь, что модуль соответствует формату: ModuleName.zip —> Имя модуля или номер версии —> (ModuleName.psm1, ModuleName.psd1).
  • Откройте файл PSD1 и проверьте, есть ли у модуля зависимости. Если зависимости есть, отправьте эти модули в учетную запись службы автоматизации.
  • Убедитесь, что все указанные DLL-файлы находятся в папке модуля.

Сценарий: Update-AzureModule.ps1 приостанавливается при обновлении модулей

Проблема

Если для обновления модулей Azure используется модуль runbook Update-AzureModule.ps1, процесс обновления приостанавливается.

Причина

Для данного модуля runbook значение, определяющее количество одновременно обновляемых модулей, по умолчанию равно 10. Процесс обновления подвержен ошибкам, если одновременно обновляются слишком много модулей.

Разрешение

Очень редко все модули AzureRM или Az требуются в одной учетной записи службы автоматизации. Следует импортировать только необходимые модули.

Примечание.

Не импортируйте весь модуль Az.Automation или AzureRM.Automation, который импортирует все автономные модули.

Если процесс обновления приостанавливается, добавьте параметр SimultaneousModuleImportJobCount в сценарий Update-AzureModules.ps1 и укажите более низкое значение, чем значение по умолчанию, равное 10. Если вы реализуете эту логику, попробуйте начать со значения 3 или 5. SimultaneousModuleImportJobCount — параметр системного модуля runbook Update-AutomationAzureModulesForAccount, который используется для обновления модулей Azure. Если вы внесете указанное изменение, процесс обновления будет выполняться дольше, но вероятность его завершения будет более высокой. В следующем примере показан параметр и его место в runbook:

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

Учетная запись запуска от имени

Примечание.

служба автоматизации Azure учетные записи запуска от имени, включая классические учетные записи запуска от имени 30 сентября 2023 г. и заменены управляемыми удостоверениями, вы больше не сможете создавать или обновлять учетные записи запуска от имени через портал Azure. Дополнительные сведения см. в статье Переход от существующих учетных записей запуска от имени к управляемому удостоверению.

Сценарий. При выполнении модуля Runbook возникает сообщение об ошибке "Не удается найти точку входа с именем GetPerAdapterInfo" в библиотеке DLL "iplpapi.dll".

Проблема

При выполнении модуля runbook возникает следующее исключение.

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

Причина

Скорее всего, эта ошибка возникает из-за неправильной настройки учетной записи запуска от имени.

Разрешение

Убедитесь, что учетная запись запуска от имени настроена правильно. Затем убедитесь, что в модуле runbook у вас правильный код проверки подлинности в Azure. В следующем примере показан фрагмент кода модуля runbook для проверки подлинности в Azure с использованием учетной записи запуска от имени.

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

Следующие шаги

Если эта статья не помогла вам решить проблему, попробуйте использовать один из следующих каналов для получения дополнительной поддержки.

  • Получите ответы специалистов Azure на форумах Azure.
  • Подключение с помощью @AzureSupport. Это официальная учетная запись Microsoft Azure для доступа к ресурсам сообщества Azure (ответы на вопросы, поддержка и консультации специалистов).
  • Отправьте запрос в службу поддержки Azure Перейдите на сайт поддержки Azure и выберите Получить поддержку.