Создание последовательностей runbook для Service Management Automation

Важно!

Эта версия Service Management Automation (SMA) достигла конца поддержки, рекомендуется обновить до SMA 2022.

Runbook в Service Management Automation и службе автоматизации Microsoft Azure являются рабочими процессами Windows PowerShell или скриптами PowerShell. Они обеспечивают возможность автоматизации административных процессов развертывания и управления облачными серверами и других функций, которые могут выполнять сценарии Windows PowerShell.

Не существует различий между модулями Runbook в обеих системах. Любой модуль Runbook можно запустить в обеих системах с одинаковой функциональностью. Термин служба автоматизации, используемый в этом руководстве, относится как к Service Management Automation, так и к службе автоматизации Microsoft Azure.

Дополнительные службы, предоставляемые в Automation для работы с рабочими процессами Windows PowerShell, включают следующие:

  • Централизованное хранение модулей Runbook и управление ими.

  • Масштабируемая архитектура для планирования и запуска модулей Runbook.

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

  • пользовательский интерфейс для разработки и тестирования модулей Runbook;

  • набор командлетов для запуска модулей Runbook и управления ими.

Создание или импорт runbook

Runbook можно добавить в Service Management Automation, создав его на портале управления или импортировав из файла.

Создание runbook на портале управления

  1. На портале управления щелкните Создать, Службы приложений, Автоматизация, Runbook, Быстрое создание.

  2. Введите требуемые сведения и нажмите кнопку Создать. Имя модуля Runbook должно начинаться с буквы и содержать буквы, цифры, символы подчеркивания и дефисы.

  3. Если требуется изменить Runbook сейчас, нажмите Изменить Runbook. В противном случае нажмите кнопку ОК.

  4. Новый модуль Runbook появится во вкладке Модули Runbook.

Импорт runbook из файла

  1. Выберите на портале управления пункт Автоматизация , а затем "Учетная запись автоматизации".

  2. Щелкните Импорт.

  3. Нажмите кнопку Поиск файла и определите местоположение файла для импорта.

  4. Если требуется изменить Runbook сейчас, нажмите Изменить Runbook. В противном случае нажмите кнопку ОК.

  5. Новый модуль Runbook появится во вкладке Модули Runbook.

Импорт runbook из файла скрипта с помощью Windows PowerShell

Чтобы создать модуль Runbook из файла сценария, содержащего рабочий процесс, можно использовать командлет Import-SmaRunbook .

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

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Import-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Path $scriptPath
Publish-SMARunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Редактирование Runbook

Каждый runbook в Service Management Automation имеет две версии: черновая и опубликованная. Черновую версию рабочего процесса можно отредактировать, а затем опубликовать с возможностью выполнения. Опубликованную версию изменить нельзя.

Редактирование runbook с помощью портала управления

Портал управления для администраторов включает редактор, который можно использовать для просмотра и редактирования модулей Runbook. В дополнение к базовым возможностям редактирования, редактор обеспечивает возможность автоматической вставки кода для глобальных активов, активностей и модулей runbook.

  1. На портале управления выберите пункт Автоматизация.

  2. Выберите вкладку Модули Runbook.

  3. Щелкните имя модуля Runbook, который нужно изменить.

  4. Выберите вкладку Автор.

  5. Нажмите либо Черновик в верхней части экрана, либо кнопку Изменить в нижней части экрана.

  6. Внесите необходимые изменения.

  7. Закончив изменения, нажмите кнопку Сохранить .

  8. Чтобы опубликовать последнюю версию чернового модуля runbook, нажмите Опубликовать.

Вставка кода в runbook

  1. Откройте модуль Runbook в редакторе портала управления.

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

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

  4. Если модуль Runbook содержит параметры, они будут указаны.

  5. Нажмите кнопку «Проверить».

  6. Код для запуска выбранного модуля Runbook будет вставлен в текущий модуль Runbook.

  7. Если модуль Runbook требует параметров, укажите соответствующее значение вместо типа данных, окруженного фигурными скобками <>.

Вставка глобального ресурса в runbook

  1. Откройте модуль Runbook в редакторе портала управления.

  2. В нижней части окна портала щелкните Вставить, а затем выберите Параметр.

  3. В столбце Действие параметра выберите тип необходимого кода

  4. Выберите один из доступных ресурсов в центральном столбце.

  5. Нажмите кнопку «Проверить».

Вставка действия в runbook

  1. Откройте модуль Runbook в редакторе портала управления.

  2. В нижней части окна портала щелкните Вставить, а затем выберите Параметр.

  3. В столбце Модуль интеграции выберите модуль, содержащий активность.

  4. В панели Активность выберите активность.

  5. В столбце Описание укажите описание для активности. Дополнительно, можно щелкнуть Просмотреть подробную справку, чтобы открыть справку к активности в браузере.

  6. Щелкните стрелку вправо.

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

  8. Нажмите кнопку «Проверить».

  9. Код для запуска действия будет вставлен в модуль.

  10. Если для действия требуются параметры, укажите соответствующее значение вместо типа данных, окруженного фигурными скобками <>.

Изменение runbook службы автоматизации

PowerShell

Чтобы внести изменения в модуль Runbook с помощью Windows PowerShell, отредактируйте рабочий процесс, используя любой редактор, и сохраните его в PS1-файл. Можно использовать командлет Get-SMARunbookDefinition для возврата содержимого модуля Runbook, а затем командлет Edit-SMARunbook для замены существующего черновика рабочего процесса измененным.

Возврат содержимого runbook с помощью Windows PowerShell

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

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

$runbookDefinition = Get-SMARunbookDefinition -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Type Draft
$runbookContent = $runbookDefinition.Content

Out-File -InputObject $runbookContent -FilePath $scriptPath

Изменение содержимого runbook с помощью Windows PowerShell

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

$webServer = 'https://MyServer'
$port = 9090
$runbookName = "Test-Runbook"
$scriptPath = "c:\runbooks\Test-Runbook.ps1"

Edit-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath -Overwrite
Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName -Path $scriptPath

Изменение runbook службы автоматизации с помощью ISE PowerShell

Интегрированная среда скриптов (ISE) Windows PowerShell — это приложение, позволяющее выполнять команды, а также запись, тестирование и отладку скриптов. Надстройка ISE PowerShell для SMA позволяет вам применять это средство для записи и тестирования runbook службы автоматизации.

  1. Откройте интегрированную среду сценариев Windows PowerShell.

  2. Если надстройка SMA ISE не отображается в правой части ISE, откройте меню "Надстройки " и включите надстройку SMA ISE.

  3. Выполните вход в SMA на вкладке Конфигурация.

  4. Выберите вкладку Runbook . Вы увидите список модулей Runbook SMA.

  5. Выберите runbook для изменения и щелкните Скачать. Будет скачана локальная копия runbook из SMA.

  6. Нажмите кнопку Открыть. В результате создается новая вкладка с runbook.

  7. Внесите в runbook необходимые изменения.

  8. Щелкните Upload Draft (Отправить черновик), чтобы отправить runbook в SMA. Существующая черновая версия runbook будет перезаписана.

  9. Щелкните Publish Draft (Опубликовать черновик), если хотите опубликовать последнюю версию runbook.

Публикация runbook

Созданную последовательность runbook необходимо опубликовать, чтобы рабочая роль runbook могла выполнить ее. Каждая последовательность runbook в Service Management Automation имеет две версии: черновая и опубликованная. Запустить можно только опубликованную версию, а изменить — только черновую. Изменения, внесенные в черновик, не влияют на опубликованную версию. Когда вы будете готовы предоставить черновую версию в общий доступ, ее можно опубликовать, заменив опубликованную версию черновой.

Публикация runbook с помощью портала управления

  1. Выберите рабочую область Автоматизация.

  2. В верхней части экрана выберите Модули Runbook.

  3. Найдите редактируемый модуль Runbook и щелкните его имя.

  4. В верхней части экрана нажмите Автор.

  5. Щелкните Черновик.

  6. В нижней части экрана щелкните Опубликовать.

  7. Щелкните Да в проверочном сообщении.

Публикация runbook с помощью PowerShell

Для публикации модуля Runbook в Windows PowerShell можно использовать командлет Publish-SmaRunbook. Приведенные ниже примеры команд демонстрируют публикацию модуля Runbook.

$webServer = 'https://MyServer'
$port = 9090
$runbookPath = 'c:\runbooks\Sample-TestRunbook.ps1'
$runbookName = 'Test-Runbook'

Publish-SmaRunbook -WebServiceEndpoint $webServer -Port $port -Name $runbookName

Публикация runbook с помощью ISE PowerShell

Интегрированная среда скриптов (ISE) Windows PowerShell — это приложение, позволяющее выполнять команды, а также запись, тестирование и отладку скриптов. Надстройка ISE PowerShell для SMA позволяет вам применять это средство для записи и тестирования runbook службы автоматизации.

  1. Откройте интегрированную среду сценариев Windows PowerShell.

  2. Если надстройка SMA ISE не отображается в правой части ISE, откройте меню "Надстройки " и включите надстройку SMA ISE.

  3. Выполните вход в SMA на вкладке Конфигурация.

  4. Выберите вкладку Runbook . Вы увидите список модулей Runbook SMA.

  5. Выберите runbook и щелкните Опубликовать черновик, чтобы опубликовать последнюю черновую версию runbook.

Тестирование runbook

Черновик runbook можно протестировать в Service Management Automation, не изменяя при этом опубликованную версию. Это позволяет проверить правильность работы Runbook перед заменой опубликованной версии.

При тестировании Runbook исполняется черновой Runbook и выполняются все его действия. Журнал заданий не создается, но потоки Output и Warning and Error отображаются тестовой области вывода. Сообщения в Verbose Stream отображаются в области вывода, только если для $VerbosePreference variable задано значение Continue.

При тестировании runbook выполняет рабочий процесс как обычно, а все действия — в ресурсах в среде. По этой причине модули Runbook следует тестировать только в нерабочих ресурсах.

Тестирование runbook в Service Management Automation

Для тестирования модуля Runbook откройте черновик Runbook на портале управления. Для запуска теста нажмите кнопку Тест в нижней части экрана.

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

Тестирование runbook с помощью ISE PowerShell

Надстройка ISE PowerShell предоставляет командлеты, которые эмулируют стандартные действия, например Get-SMACredential и Set-SMAVariable, поэтому вы можете протестировать runbook на локальном компьютере как любой другой скрипт.

Глобальные ресурсы и их значения скачиваются из группы автоматизации для использования в локальном тестировании. Эти значения можно проверить или изменить на вкладке "Активы ". Зашифрованные значения отображаются оранжевым цветом, и их значения не скачиваются. Если вы хотите использовать эти ресурсы при локальном тестировании, необходимо задать их значения локально.

Чтобы протестировать runbook в SMA, щелкните Тестировать черновик в SMA. Откроется новое окно. Щелкните Start New Job (Запустить новое задания), чтобы начать тестирование. В окне отобразятся выходные данные.

Примеры runbook службы автоматизации

Следующие runbook поставляются с Service Management Automation как примеры runbook для иллюстрации методик и рекомендаций. Они доступны для использования в расширении службы автоматизации в Windows Azure Pack для Windows Server.

Имя Runbook Описание
Sample-Deleting-VMCloud-Subscription Демонстрирует полезный сценарий запуска модуля Runbook при удалении пользователем подписки на облака виртуальных машин.
Sample-Managing-Azure Демонстрирует подключение к подписке Windows Azure и выполнение основных операций с помощью модуля PowerShell Windows Azure.
Sample-Managing-ConfigurationManager Демонстрирует возможность подключения Service Management Automation к Configuration Manager.
Sample-Managing-DataProtectionManager Демонстрирует подключение к серверу Data Protection Manager (DPM) и просмотр сведений о дисках, найденных на сервере DPM.
Sample-Managing-MySQLServers Демонстрирует процесс получения токена безопасности, который затем будет использоваться для получения списка серверов узла.
Sample-Managing-OperationsManager Демонстрирует возможность подключения Service Management Automation к System Center Operations Manager.
Sample-Managing-Orchestrator Демонстрирует подключение к System Center Orchestrator и запуск модуля Runbook Orchestrator для использования существующей инфраструктуры.
Sample-Managing-Plans Демонстрирует создание нового плана и добавление службы SQL Server с заданной квотой в новый план.
Sample-Managing-ServiceBusClouds Демонстрирует подключение к серверу облака шины обслуживания и просмотра сведений о созданных пространствах имен.
Sample-Managing-SQLServers Демонстрирует создание новой группы серверов и добавление сервера размещения SQL.
Sample-Managing-UserAccounts Демонстрирует создание пользователя в Windows Azure Pack для Windows Server, который будет создан в Windows Azure Pack и отображен в расширении "Пользователи" для администраторов на портале управления. Но, этого пользователя необходимо также интегрировать в поставщик аутентификации (например, AuthSite) для получения доступа к порталу управления для арендаторов (не рассматривается в этом примере).
Sample-Managing-VirtualMachineManager Демонстрирует подключение к серверу Virtual Machine Manager (VMM) и просмотр сведений о лицензии сервера VMM.
Sample-Managing-VMClouds Демонстрирует получение доступа к сведениям о подключении к базе данных сервера Service Provider Foundation и сведениям об объектах сервера VMM, управляемых Service Provider Foundation.
Sample-Managing-WebSiteCloud Демонстрирует подключение к серверу контроллера облака веб-сайта и просмотр сведений о развернутых серверах облака веб-сайта.
Sample-Modify-VMCloud-Subscription Демонстрирует полезный сценарий запуска модуля Runbook, когда клиент или администратор приостанавливает или активирует подписку на облака виртуальных машин.
Sample-Using-Activities Демонстрирует возможности Service Management Automation по использованию действий.
Sample-Using-Checkpoints Демонстрирует возможность использования контрольных точек в Service Management Automation.
Sample-Using-Connections Демонстрирует возможность Service Management Automation по использованию подключений к удаленным системам.
Sample-Using-Credentials Демонстрирует возможность Service Management Automation по использованию учетных данных и выводит данные о пользователе, от имени которого Service Management Automation выполняет runbook. Затем он подключается к серверу "ServerName" и выводит сведения о пользователе, получающем доступ к серверу, которому принадлежат учетные данные "SampleCredential".
Sample-Using-Modules Демонстрирует импорт модулей в Runbook и выводит число уже импортированных модулей для сервера "ServerName". Затем он импортирует модуль, указанный параметром "ModulePath", и выводит число новых модулей и сведения, связанные с импортируемым модулем.
Sample-Using-RunbookParameters Демонстрирует использование входных параметров для модулей Runbook, а также указывает, являются ли эти параметры обязательными, предоставляет значения параметров по умолчанию и использует значения параметров позднее в рабочем процессе.
Sample-Using-Runbooks Демонстрирует вызов модуля Runbook из другого модуля Runbook.
Sample-Using-SuspendWorkflow Демонстрирует принудительную приостановку модуля Runbook. Эта возможность может быть полезна, если перед продолжением выполнения Runbook требуется выполнить ручное действие, такое как получение утверждения от конкретного лица. После завершения ручного действия работа приостановленного модуля Runbook будет возобновлена вручную.
Sample-Using-Variables Демонстрирует возможность Service Management Automation по использованию переменных.
Sample-Using-VMCloud-Automation Демонстрирует полезный сценарий запуска модуля Runbook при запуске события Service Provider Foundation.

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