Автоматизация операций Microsoft Azure Pack с помощью Service Management Automation

Важно!

Поддержка этой версии Service Management Automation (SMA) завершена. Рекомендуется выполнить обновление до SMA 2022.

Модули runbook Service Management Automation (SMA) можно использовать для автоматизации стандартных операций в среде Microsoft Azure Pack для Windows Server. Существует два различных типа последовательностей runbook SMA:

Тип Описание
Рабочий процесс PowerShell Текстовый модуль Runbook, основанный на рабочем процессе Windows PowerShell.
PowerShell Текстовый модуль Runbook, основанный на сценарии Windows PowerShell.

Runbook рабочих процессов PowerShell

Runbook рабочих процессов PowerShell основаны на рабочем процессе Windows PowerShell. Вы можете напрямую изменить код runbook с помощью редактора на портале управления. Можно также использовать любой автономный текстовый редактор и импортировать runbook в SMA.

Преимущества

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

Ограничения

  • Необходимо знание рабочего процесса PowerShell.
  • Модуль Runbook должен быть связан с дополнительной сложностью рабочего процесса PowerShell, например десериализованными объектами.
  • Модуль Runbook запускается дольше, чем модули Runbook PowerShell, поскольку требует предварительной компиляции.
  • Модули Runbook PowerShell можно включить только в качестве дочерних модулей Runbook с помощью командлета Start-SMARunbook, который создает новое задание.

Модули Runbook PowerShell

Модули Runbook PowerShell используют Windows PowerShell. Вы можете напрямую изменить код runbook с помощью редактора на портале управления. Можно также использовать любой автономный текстовый редактор и импортировать runbook в SMA.

Преимущества

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

Ограничения

  • Необходимо знание скриптов PowerShell.
  • Параллельную обработку нельзя использовать для параллельного выполнения нескольких действий.
  • Вы не можете использовать контрольные точки для возобновления работы модулей Runbook при возникновении ошибки.
  • Runbook рабочего процесса PowerShell можно включать только как дочерние runbook с помощью командлета Start-SMARunbook, который создает задание.

Как SMA выполняет последовательности runbook

Запросы на запуск runbook выполняются веб-службой SMA с помощью портала управления службами или командлета Windows PowerShell Start-SmaRunbook. Веб-служба записывает этот запрос в базу данных службы автоматизации, где он извлекается одним из серверов рабочей роли автоматизации.

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

Сервер рабочей роли создаст задание, которое выполняется на сервере рабочей роли, обслуживающем запрос, и получит удаленный доступ ко всем компьютерам или другим ресурсам, с которыми он будет работать. Для этого необходимо, чтобы командлеты в модуле Runbook имели удаленный доступ к этим ресурсам. Кроме того, в модуль Runbook может быть включена команда InlineScript , позволяющая использовать удаленное взаимодействие PowerShell для локального запуска команд на целевом компьютере. Эта концепция показана в следующей схеме.

Схема выполнения модуля Runbook.

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

Разрешения

Чтобы модуль Runbook выполнил необходимые действия, он должен получить разрешения на доступ к ресурсам, с которыми он работает. Runbook в SMA всегда выполняются в контексте учетной записи службы Automation Runbook Service. Если у этой учетной записи нет необходимых разрешений, вы можете использовать глобальный ресурс "Учетные данные" или "Подключение ", чтобы выполнить необходимые команды, используя учетные данные с необходимыми разрешениями. Эти учетные данные можно использовать с командлетом, принимающим учетные данные через параметр, или с InlineScript для выполнения блока кода с использованием альтернативных учетных данных.

Дальнейшие действия