В предыдущих статьях серии мы подробно рассмотрели вопрос использования оболочки PowerShell в качестве составной части набора инструментов административного управления. Но мы используем модуль PowerShell не только для администрирования; бывают случаи, когда этот продукт приходится применять в целях установки и настройки определенных компонентов.
Представьте себе такую ситуацию. В вашем распоряжении имеется новая, прекрасно функционирующая среда SharePoint 2013. Вы открываете конструктор SharePoint Designer, собираясь создать новый рабочий процесс 2013 Workflow, и, к своему удивлению, обнаруживаете, что система предлагает вам создавать такие процессы только в версии 2010 (см. экран 1).
Экран 1. Выбор платформы для создания процессов |
Для решения возникшей проблемы следует установить модуль Windows Workflow Components. Загрузите новейшую версию установщика Microsoft Web Platform. Проще всего это сделать, запустив службы IIS (Internet Information Services) и открыв сервер. Система предложит вам начать работу с установщиком (см. экран 2).
Экран 2. Работа с установщиком |
Нажмите кнопку Yes, и вы окажетесь на сайте Microsoft Web Platform, где можно будет загрузить интересующий вас установщик (см. экран 3).
Экран 3. Выбор установщика |
Щелкните ссылку Free Download и сохраните установщик в одном из каталогов своего сервера. Завершив операцию загрузки, щелкните на файле и запустите установщик wpilauncher. Он развернет основные компоненты, а затем предложит вам выбрать необходимые функции из списка (см. экран 4).
Экран 4. Выбор компонентов |
В этот момент мы можем начать поиски нужных компонентов и их установку, но здесь события могут принять неожиданный оборот и вызвать сбой. Вы можете вывести на экран необходимые компоненты, введя с клавиатуры в строке поиска слова Workflow или Service Bus (см. экран 5).
Экран 5. Поиск компонентов для загрузки |
Но мы вместо этого завершим установку с помощью командной строки.
Для загрузки любого из интересующих нас компонентов с помощью командной строки воспользуемся следующим форматом команды:
Webpicmd/offline/Products: "Product Name"/Path:"Path Location"
Для загрузки перечисленных выше компонентов вы можете применить несколько команд. Для их размещения я использую каталог C:\Components\Workflow\.
Webpicmd/offline/Products: ServiceBus/ Path: C:\Components\Workflow\ServiceBus Webpicmd/offline/Products: WorkflowClient/ Path: C:\Components\Workflow\Client Webpicmd/offline/Products: Workflow ManagerRefresh/Path: C:\Components\ Workflow\Manager
Обязательно загрузите накопительный пакет обновления Service Bus 1.0 Cumulative Update, для чего нужно будет пройти по ссылке http://www.microsoft.com/en-us/download/details.aspx?id=36794. Загруженные данные разместите в той же папке. Используемая мною папка, после того как она была до конца заполнена загруженными файлами, выглядит так, как показано на экране 6.
Экран 6. Пример структуры папок |
Теперь для установки указанных компонентов в том порядке, в каком они потребуются, мы можем воспользоваться простой командной строкой или командами PowerShell.
Командная строка выглядит следующим образом:
WebpiCmd.exe/Install/Products: Product to Install/XML: XML Definition Location/AcceptEula/ SuppressPostFinish
Строка PowerShell выглядит так:
Start-Process -FilePath "Path to WebpiCmd" -ArgumentList "/Install/Products: "Product to Install"/XML: "XML Definition Location"/AcceptEula/ SuppressPostFinish" -Wait -PassThru
Поясню это на примере. Если бы мы сейчас устанавливали компоненты Service Bus, можно было бы использовать как те, так и другие команды.
Командная строка выглядит так:
WebpiCmd.exe/Install/Products: ServiceBus/XML: C:\Components\ Workflow\ServiceBus\ feeds\latest\webproductlist.xml/ AcceptEula/SuppressPostFinish
Строка PowerShell:
Start-Process -FilePath "C:\Program Files\ Microsoft\Web Platform Installer\ WebpiCmd.exe" -ArgumentList "/Install/ Products: ServiceBus/XML: C:\Components\Workflow\ServiceBus\ feeds\latest\webproductlist.xml/ AcceptEula/SuppressPostFinish" -Wait -PassThru
Компоненты необходимо устанавливать в следующем порядке:
- служебная шина (Service Bus);
- обновление служебной шины (Service Bus Update);
- клиент Workflow;
- диспетчер Workflow.
По завершении установки всех указанных компонентов вы можете запустить базовый мастер и создать ферму Workflow Farm; другая возможность — описать весь процесс в сценарии PowerShell. Второй вариант чуть более сложный, однако этап может повторяться. Ниже приводятся основные команды PowerShell, используемые для настройки диспетчера бизнес-процессов и служебной шины:
- New-SBFarm
- New-WFFarm
- Add-SBHost
- Add-WFHost
Для выполнения каждой команды необходимо указывать различные параметры и свойства. По завершении данного этапа диспетчер бизнес-процессов и процессор служебной шины будут полностью настроены.
Пришло время приступать к финальному этапу подготовки — подключению к SharePoint. И снова операция выполняется с помощью команд PowerShell. На этот раз речь идет о команде Register-SPWorkflowService.
Register-SPWorkflowService -SPSite @http://{SharePoint Site URL} " -WorkflowHostUri "http://{Workflow URL}:{Port}" -AllowOAuthHttp
Указанная выше команда предписывает компонентам рабочего процесса подключаться к SharePoint по протоколу HTTP; если вы хотите использовать HTTPS, следует указать другой порт и протокол.
Для HTTP используйте команду:
Register-SPWorkflowService -SPSite "http://{SharePoint Site URL} " -WorkflowHostUri "http://{Workflow URL}:12291" -AllowOAuthHttp
Для HTTPS используйте команду:
Register-SPWorkflowService -SPSite "http://{SharePoint Site URL} " -WorkflowHostUri "http://{Workflow URL}:12290"
Таким образом, вы получили полностью работоспособную среду SharePoint 2013 Workflow Environment. Теперь, когда вы откроете конструктор SharePoint Designer, он должен отображать рабочие процессы не только версии 2010, но и версии 2013 (см. экран 7).
Экран 7. Дополнительный тип платформы |
PowerShell позволяет нам более глубоко исследовать возможности служб рабочих процессов. Для этого используется ряд простых команд, которые показаны на экране 8.
Экран 8. Команды настройки процессов |
Более подробные сведения о каждой команде можно получить на сайте Microsoft TechNet https://technet.microsoft.com/en-us/library/ee906558.aspx.
Как видите, использование PowerShell открывает перед нами широкие возможности для решения самых разных задач — от настройки, установки, мониторинга до реализации других компонентов, таких как Workflow into SharePoint. В следующей статье серии мы обратимся к общим проблемам администрирования, решаемым как с помощью пользовательского интерфейса, так и средствами PowerShell.