Одна из трудностей, которые нас ожидают после перехода на Office 365, связана с успешным управлением абонентом и его службами. Несмотря на все достоинства пользовательского интерфейса, вносить нужные изменения и применять обновления удается не всегда. Один из необходимых шагов — настройка гибридного режима. В базовом арсенале абонента нет подходящего пользовательского интерфейса, поэтому приходится задействовать PowerShell. На состоявшемся в конце августа вебинаре, посвященном гибридной архитектуре SharePoint 2016, мы активно использовали PowerShell для настройки локальной среды для абонента Office 365 Tenant. В этой статье я пройдусь по сценариям PowerShell и приведу ссылки для их загрузки.

Загрузить все сценарии PowerShell можно по адресу: https://1drv.ms/u/s!An6eWkVI7cMNgYwP-WaQ11 helkDgjg.

В загружаемом файле содержатся сценарии PowerShell, их список приведен на экране 1.

 

Список сценариев PowerShell
Экран 1. Список сценариев PowerShell

В процессе построения необходимой инфраструктуры обратите внимание на два файла, подготовленные компанией Microsoft. Это файлы CreateCloudSSA.ps1 и Onboard-CloudHybridSearch.ps1. Вам не обязательно применять сценарий Create Cloud Search Service Application, если он уже имеется в вашем распоряжении и используется.

Вкратце порядок выполнения работ следующий:

  1. Заменить сертификат токенов безопасности по умолчанию.
  2. Передать сертификат токенов безопасности в SharePoint Online.
  3. Добавить имя субъекта-службы в Azure Active Directory.
  4. Зарегистрировать идентификатор участника приложения SharePoint Online.
  5. Задать область проверки подлинности SharePoint.
  6. Настроить локальный прокси-сервер для Azure Active Directory.
  7. Создать приложение «облачной» службы поиска.
  8. Присоединить «облачный» гибридный поиск.

Работать с PowerShell порой очень сложно, но в целом для настроек этого типа все проходит успешно. Чтобы заменить сертификат токенов безопасности, вам, конечно, потребуется новый сертификат, который можно использовать в PowerShell. Для сценария необходимы две переменные, которые используются на всех этапах процесса. Главное в данном случае — задействовать одно окно PowerShell для всех сценариев, чтобы переменные были постоянными и доступными для всех остальных сценариев (см. экран 2).

 

Используемые переменные
Экран 2. Используемые переменные

Основная команда в данном случае — Set-SPSecurityTokenServiceConfig (https://technet.microsoft.com/en-us/library/ff607549.aspx), которая выполняется только на локальном сервере SharePoint Server. В результате основной сертификат будет заменен, а затем необходимо выполнить команду IISRESET и перезапустить службу таймера на всех серверах в ферме.

Далее мы переходим к Office 365 Tenant, где можно подключиться к абоненту, а затем передать экспортированный сертификат в формате PFX нашему абоненту, чтобы настроить его на доверительные отношения между локальными и «облачными» службами (см. экран 3).

 

Передача сертификата абоненту
Экран 3. Передача сертификата абоненту

В этом программном коде используются два метода, причем основной из них — после импорта всех основных необходимых модулей. Обратите внимание, что для работы инструкций импорта нужно установить соответствующие надстройки Microsoft для Office 365 и Azure. Выполнить загрузку можно следующим образом:

  1. Установить 64-разрядную версию помощника по регистрации в Microsoft Online Services: Microsoft Online Services Sign-in Assistant for IT Professionals RTW. (http://go.microsoft.com/fwlink/p/? LinkId=286152).
  2. Установить 64-разрядную версию модуля Windows Azure Active Directory для Windows PowerShell: модуль Windows Azure Active Directory для Windows PowerShell (64-разрядная версия) (http://go.microsoft.com/fwlink/p/? linkid=236297).

Открытые окна PowerShell необходимо закрыть и запустить повторно.

После того как подготовительные шаги выполнены, можно использовать основной метод, в данном случае Connect-MsolService (https://msdn.microsoft.com/en-us/library/

azure/dn194123(v=azure.98).aspx), для передачи учетных данных абоненту Office 365. После подключения мы заполняем различные переменные для основного сертификата, такие как путь PFX, пароль, путь CER, наряду со всеми элементами, необходимыми для сайта SharePoint. Обратите внимание, что некоторые из них заполняются значениями других переменных, например $sharePointOnlineContextID, получаемой с помощью стандартного метода, доступного после начального подключения.

Команды PowerShell используются для формирования сертификата Package, чтобы подготовить его к работе с Office 365. Основной метод, New-MsolServicePrincipalCredential (https://msdn.microsoft.com/en-us/library/azure/dn194106(v=azure.98).aspx), обеспечит передачу и назначение сертификата клиенту.

Цель — использовать один сертификат для организации доверительных отношений между двумя системами. Затем необходимо зарегистрировать имя службы Service Principal Name и идентификатор приложения Online Application ID и, наконец, задать область действия SharePoint Realm (см. экран 4).

 

Регистрация службы и приложения
Экран 4. Регистрация службы и приложения

Добавление имени службы Service Principal Name выполняется с помощью показанных выше команд PowerShell. Это второй элемент безопасности для гибридного решения. Первый элемент — сертификат, второй — имя субъекта-службы. Подробную информацию об имени субъекта-службы можно найти в следующих материалах:

  • https://technet.microsoft.com/en-us/library/cc961723.aspx;
  • https://azure.microsoft.com/en-us/documentation/articles/active-directory-application-objects/.

 

Затем необходимо добавить идентификатор приложения SharePoint Online Application ID. Для этого нужно повторно использовать основные переменные из предыдущих сценариев, заполнив их другими значениями (см. экран 5).

 

Добавление идентификатора приложения
Экран 5. Добавление идентификатора приложения

Теперь мы располагаем основными компонентами гибридного решения.

Здесь начинается самое интересное. Мы наконец подключаем компоненты Office 365 к локальному SharePoint, разрешая сквозную проверку подлинности и принимая токены в обоих направлениях. Кроме того, мы выполняем сценарии для создания приложения-службы и заключительной проверки готовности к использованию всего решения в целом (см. экран 6).

 

Экран 6. Заключительные проверки
Экран 6. Заключительные проверки

Приведенный на экране 6 код добавит прокси-сервер, видимый в служебных приложениях для локальной среды SharePoint. New-SPAzureAccessControlServiceApplicationProxy (https://technet.microsoft.com/en-us/library/jj219639.aspx) в сочетании с New-SPTrusted SecurityTokenIssuer (https://technet.microsoft.com/en-us/library/jj219695.aspx) создает подключение, необходимое для доверительных отношений между сервером и участником на уровне сервера.

Теперь можно выполнить код PowerShell, чтобы при необходимости создать служебное приложение поиска в «облаке» и завершить работу со сценарием присоединения. Оба сценария предоставлены компанией Microsoft. Я не вызываю их напрямую, а подготовил два сценария меньшего размера (см. экраны 7 и 8).

 

Создание приложения «облачной» службы поиска
Экран 7. Создание приложения «облачной» службы поиска

 

Завершение присоединения
Экран 8. Завершение присоединения

Итак, задача выполнена. В вашем распоряжении имеется локальная среда SharePoint, функционирующая в гибридном режиме с абонентом Office 365 Tenant. Конечно, предварительно необходимо иметь синхронизированные учетные записи и т. д., но эти сценарии PowerShell позволят более успешно подготовиться к работе пользователям как SharePoint 2013, так и 2016.

На самом деле применять PowerShell в Office 365 просто. В данной статье рассмотрены некоторые более сложные команды специально для гибридного развертывания, но для обычных задач, таких как подключение к сайтам, спискам и библиотекам, пользователям или типовым объектам, процедура не отличается от локальной, хотя сначала необходимо подключиться к Office 365. Текущий список всех команд SharePoint Online можно найти по адресу: https://technet.microsoft.com/en-us/library/fp161364.aspx.