Как известно, сейчас Microsoft работает над крупным проектом Patterns and Practices (PnP), в рамках которого выпускает примеры и документацию, демонстрирующие, как наиболее эффективно работать в среде Office 365. Проект хранится в интернет-репозитории GitHub, поэтому каждый может обратиться к источнику и при необходимости получить локальную копию (см. экран 1). Существует три основных репозитория:

  • главный репозиторий PnP (https://github.com/OfficeDev/PnP);
  • PnP Sites Core (https://github.com/OfficeDev/PnP-Sites-Core);
  • PnP PowerShell (https://github.com/OfficeDev/PnP-PowerShell).

 

Получение Patterns and Practices
Экран 1. Получение Patterns and Practices

Для доступа к репозиториям достаточно зайти на сайт GitHub, воспользовавшись предоставленными ссылками.

Чтобы использовать этот программный код и построить собственный, нужно сначала загрузить и установить перечисленные ниже компоненты.

  • Набор инструментов WIX: http://wix.codeplex.com/.
  • Windows Management Framework v4.0: http://www.microsoft.com/en-us/download/details.aspx? id=40855.

После того как необходимые компоненты загружены и установлены, можно приступать к делу. Если вы просто хотите установить компоненты PowerShell, можно загрузить созданные файлы MSI по адресу: https://github.com/officedev/pnp-powershell/releases.

Чтобы использовать команды PowerShell, загрузите нужный файл (см. экран 2). Мы загрузим файл SharePointPnPPowerShellOnline.msi, хотя при желании вы можете загрузить их все.

 

Доступные компоненты
Экран 2. Доступные компоненты
  • SharePoint 2013: https://github.com/OfficeDev/PnP-PowerShell/releases/download/2.6.1608.0/SharePointPnPPowerShell2013.msi.
  • SharePoint 2016: https://github.com/OfficeDev/PnP-PowerShell/releases/download/2.6.1608.0/SharePointPnPPowerShell2016.msi.
  • SharePoint Online: https://github.com/OfficeDev/PnP-PowerShell/releases/download/2.6.1608.0/SharePointPnPPowerShellOnline.msi.

После завершения загрузки можно запустить файлы MSI. Все нужные компоненты будут вскоре установлены. Затем необходимо загрузить Powershell Window. Мы будем использовать SharePoint Online и выполним одну из приведенных ниже команд (если ваша операционная система Windows 10).

  • SharePoint 2013: Install-Module SharePointPnPPowerShell2013;
  • SharePoint 2016: Install-Module SharePointPnPPowerShell2016;
  • SharePoint Online: Install-Module SharePointPnPPowerShellOnline.

Пользователям других операционных систем, таких как Windows Server 2012 R2, требуется выполнить следующую команду:

Invoke-Expression
   (New-Object Net.WebClient).
   DownloadString ('https://
   raw.githubusercontent.com/OfficeDev/
   PnP-PowerShell/master/Samples/
   Modules.Install/Install-SharePointPnP
   PowerShell.ps1').

Эта команда загрузит необходимые компоненты и проведет вас по процессу установки (см. экран 3).

 

Ход процесса установки
Экран 3. Ход процесса установки

Вначале нужно выбрать версию для установки. По умолчанию используется версия SharePoint Online (см. экран 4).

 

Выбор версии для установки
Экран 4. Выбор версии для установки

Далее мастер продолжает работу, устанавливая все необходимые компоненты (см. экран 5).

 

Продолжение установки
Экран 5. Продолжение установки

После того как все установлено, можно выполнить простую команду, чтобы увидеть доступные варианты (см. экран 6).

 

Просмотр доступных вариантов
Экран 6. Просмотр доступных вариантов

Прежде чем приступить к использованию команд SharePoint Online, необходимо назначить учетные данные. Если вы часто вводите одни и те же имена и пароли, сохраните их в диспетчере учетных данных Windows для использования в будущем (см. экран 7).

 

Ввод учетных данных
Экран 7. Ввод учетных данных

Сохранив учетные данные, можно просто вызвать команду Connect-SPOnline с URL-адресом и использовать ярлык для сохраненных учетных данных.

После того как соединение установлено, можно воспользоваться новыми командами PowerShell для создания, обновления, удаления и чтения из сайта SharePoint Online. С помощью Get-SPOList можно извлекать основные списки из подключенного семейства веб-сайтов, которое использовалось в Connect-SPOnline (см. экран 8).

 

Использование Get-SPOList
Экран 8. Использование Get-SPOList

Как вы могли заметить, я выполнил только две команды, чтобы получить этот список, в то время как обычно мне приходилось запускать много команд для подключения к SharePoint Online, доступа к объектам SPSite и SPWeb, наряду с перебором объектов SPList.

Помимо прочего, эти команды облегчают решение стоящих перед нами задач, предоставляя методы, отсутствующие в основных продуктах SharePoint On-Premises и SharePoint Online, или расширяя их, чтоб сократить объем проектируемого программного кода PowerShell.

Отличным примером тому может служить формирование нового списка (см. экран 9).

 

Формирование нового списка
Экран 9. Формирование нового списка
New-SPOList -Title "Sample PnP Docs"
   -Template DocumentLibrary
   -Url "SamplePnPDocs"

Полный список команд, их возможности и способы применения можно найти по следующей ссылке: https://github.com/OfficeDev/PnP-PowerShell/blob/master/Documentation/readme.md.

В целом команды PowerShell Patterns and Practices служат отличным дополнением к SharePoint Online или локальной версии SharePoint.