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


Устранение неполадок при выполнении модуля Runbook при использовании PowerShell в службе автоматизации Azure

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

Замечание

Cлужба автоматизации Azure позволяет восстанавливать модули runbook, удаленные за последние 29 дней. Вы можете восстановить удаленный модуль Runbook, выполнив скрипт PowerShell в качестве задания в учетной записи службы автоматизации. Дополнительные сведения см. в разделе Восстановление удаленного модуля Runbook.

Ограничения и известные проблемы с рутинными процессами в PowerShell

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

Ограничения:

  • Для версии среды выполнения PowerShell 7не извлекаются действия для импортированных модулей.
  • Тип параметра runbook PSCredential не поддерживается в версии среды выполнения PowerShell 7.
  • PowerShell 7.x не поддерживает рабочие книги рабочих процессов. Дополнительные сведения см. в рабочем процессе PowerShell.
  • Сейчас PowerShell 7.x не поддерживает подписанные runbook.
  • Интеграция системы управления версиями не поддерживает PowerShell 7.2. Руководства PowerShell 7.2 в системе управления версиями создаются в учетной записи службы автоматизации с использованием среды выполнения версии 5.1.
  • В настоящее время поддерживаются только облачные задания для версии среды выполнения PowerShell 7.2.
  • Использование модулей Az и AzureRM в одной учетной записи службы автоматизации не поддерживается. Дополнительные сведения см. в статье Об обновлении модулей Azure PowerShell в службе автоматизации.

Известные проблемы :

  • В среде выполнения PowerShell 7 не поддерживаются свойства рабочего процесса (runbook), определяющие настройки ведения журнала.

    Чтобы обойти эту проблему, явно задайте предпочтения в начале модуля Runbook следующим образом:

    $VerbosePreference = "Continue"
    $ProgressPreference = "Continue"
    
  • При использовании модуля ExchangeOnlineManagement версии 3.0.0 или более поздней может возникнуть ошибка.

    Чтобы устранить эту проблему, убедитесь, что вы в явном виде загружаете модули PowerShellGet и PackageManagement.

Перед устранением неполадок

Выполните следующие действия, чтобы определить и устранить распространенные ошибки перед дальнейшим устранением неполадок:

  1. Убедитесь, что скрипт PowerShell работает вне службы автоматизации Azure.
  2. Убедитесь, что необходимые модули импортируются в учетную запись службы автоматизации Azure.

Проблема 1. Выполнение Runbook завершается сбоем из-за десериализации объекта

Симптомы

При запуске модуля Runbook может отображаться следующее сообщение об ошибке:

Не удается привязать параметр <ParameterName>.

Не удается преобразовать значение типа <ParameterType>, полученное через <Deserialized>, в тип <ParameterType>.

Причина.

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

Резолюция:

Чтобы устранить эту проблему, используйте один из следующих методов:

  • Если вы отправляете сложные объекты из одного командлета PowerShell в другой, заключите эти командлеты в InlineScript действие.
  • Передайте только требуемое имя или значение сложного объекта, а не весь объект.
  • Используйте модуль Runbook PowerShell, а не модуль Runbook рабочего процесса PowerShell.

Проблема 2. Сбой заданий PowerShell с ошибкой "Не удается вызвать метод"

Симптомы

При запуске задания PowerShell в runbook, работающем в песочнице Azure, вы получите следующее сообщение об ошибке:

Исключение было вызвано - не удается вызвать метод. Вызов метода поддерживается только для базовых типов в этом режиме работы языка.

Причина.

Эта ошибка может возникнуть, так как модуль Runbook не может выполняться в полноязычном режиме.

Резолюция:

Чтобы устранить эту ошибку, используйте один из следующих методов:

Справка

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или нужна помощь, создайте запрос на поддержку или обратитесь к поддержке сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.