В предыдущих статьях серии мы подробно рассмотрели вопрос использования оболочки 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.