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


Создание модулей Runbook службы автоматизации управления службами

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

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

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

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

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

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

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

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

Создание или импорт модуля Runbook

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

Создание модуля 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 в службе автоматизации управления службами имеет две версии: черновик и опубликовано. Вы редактируете черновую версию рабочего процесса, а затем опубликуете ее таким образом, чтобы его можно было выполнить. Опубликованная версия не может быть изменена.

Изменение модуля Runbook с помощью портала управления

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

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

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

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

  4. Перейдите на вкладку Автор .

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

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

  7. Нажмите кнопку "Сохранить", когда изменения завершены.

  8. Выберите "Опубликовать", если требуется опубликовать последнюю версию черновика модуля Runbook.

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

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

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

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

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

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

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

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

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

Изменение модуля 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 службы автоматизации с помощью сценариев PowerShell

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

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

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

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

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

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

  6. Выберите Открыть. При этом создается новая вкладка с runbook.

  7. Внесите необходимые изменения в модуль Runbook.

  8. Выберите " Отправить черновик" , чтобы отправить модуль Runbook в SMA. При этом перезаписывается существующая черновая версия модуля Runbook.

  9. Выберите "Опубликовать черновик ", если вы хотите опубликовать последнюю версию черновика модуля Runbook.

Публикация модуля Runbook

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

Публикация модуля 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 с помощью среды сценариев PowerShell

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

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

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

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

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

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

Тестирование модуля Runbook

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

При тестировании Runbook исполняется черновой Runbook и выполняются все его действия. Журнал заданий не создается, но потоки выходных данных и предупреждений и ошибок не отображаются в области выходных данных теста. Сообщения в подробный поток отображаются в области вывода только в том случае, если для переменной $VerbosePreference задано значение "Продолжить".

При тестировании модуля Runbook он по-прежнему выполняет рабочий процесс обычно и выполняет любые действия в отношении ресурсов в среде. По этой причине модули Runbook следует тестировать только в нерабочих ресурсах.

Тестирование модуля Runbook в службе автоматизации управления службами

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

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

Тестирование модуля Runbook с помощью среды сценариев PowerShell

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

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

Чтобы протестировать модуль Runbook в SMA, выберите "Тестовый черновик" в SMA. Откроется новое окно. Нажмите кнопку "Начать новое задание ", чтобы запустить тест. Выходные данные будут отображаться в окне.

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

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

Имя Runbook Description
Sample-Deleting-VMCloud-Subscription Демонстрирует полезный сценарий запуска модуля Runbook при удалении пользователем подписки на облака виртуальных машин.
Sample-Managing-Azure Показывает, как подключиться к подписке Microsoft Azure и выполнять основные операции с помощью модуля Microsoft Azure PowerShell.
Sample-Managing-ConfigurationManager Демонстрирует возможность автоматизации управления службами для подключения к Configuration Manager.
Sample-Managing-DataProtectionManager Демонстрирует подключение к серверу Data Protection Manager (DPM) и просмотр сведений о дисках, найденных на сервере DPM.
Sample-Managing-MySQLServers Демонстрирует процесс получения токена безопасности, который затем будет использоваться для получения списка серверов узла.
Sample-Managing-OperationsManager Демонстрирует возможность автоматизации управления службами для подключения к 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 Демонстрируется создание пользователя в Microsoft Azure Pack для Windows Server, который будет создан в Пакете Microsoft Azure и отображается на портале управления для расширения "Пользователи администраторов". Однако этот пользователь также должен быть интегрирован в поставщик проверки подлинности (например, 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 Демонстрирует возможности службы автоматизации управления службами для использования действий
Sample-Using-Checkpoints Демонстрирует возможность использования контрольных точек в службе автоматизации управления службами.
Sample-Using-Connections Демонстрирует возможность автоматизации управления службами использовать подключения для подключения к удаленным системам.
Sample-Using-Credentials Демонстрирует возможность службы автоматизации управления службами использовать учетные данные и выводит пользователя, в котором выполняется модуль 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 Демонстрирует возможность автоматизации управления службами использовать переменные.
Sample-Using-VMCloud-Automation Демонстрирует полезный сценарий запуска модуля Runbook при запуске события Service Provider Foundation.

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

  • Узнайте, как вызывать один модуль Runbook из другого модуля Runbook.
  • Узнайте, как работать с модулями интеграции.