Share via


PowerShell провайдер для Sharepoint

Наверное, многие уже слышали о PowerShell, и о модели расширения. Я очень впечатлен возможностями которые дает эта технология, и жду выхода новых провайдеров, особенно для Sharepoint и ProjectServer.

Сегодня наткнулся на проект, который в ранней альфе реализует провайдер для Sharepoint 2003. Замечательным является то что скриптовые решения на базе портала могут быть в разы усложнены, без особых усилий со стороны разработчиков. Мое мнение вообще таково: PowerShell через некоторое непродолжительное время станет стандартом дефакто на платформе Windows.

 

https://www.codeplex.com/PSSharePoint

 

Что он может в первую очередь:

  • Копировать, перемещать и удалять любые элементы в списках по любым путям к ним.
  • Работать с настройками пользователя
  • Работать с группами
  • Поддерживаются маски (wildcards)
  • Поддерживаются контейнеры

Некоторые примеры использования:

Удаление всех алертов для пользователя user в роли contributor для узла:

remove-item wss:\site\subsite\!roles\contributor\username\!alerts\*

 

Сделать кроссайтовую группу "group" администратором узла:

 

copy !groups\crosssitegroup !roles\administrator\

 

Повысить привилегии группы с reader до contributor

 

move !roles\reader\crosssitegroup !roles\contributor

 

Контейнеры

Powershell поддерживает такое понятие как контейнеры – например Out-of box реализован контейнер для файловой системы. Основным инструментом для работы с контейнерами в PowerShell являются команды get-childitems /dir /ls . С помощью команды set-location возможно «подмонтирование» такого контейнера и дальнейшая работа с ним как с обыкновенным каталогом файловой системы (конечно в рамках PowerShell).

Провайдер в текущем состоянии поддерживает следующие контейнеры:

  • !alerts
  • !groups
  • !roles
  • !lists
  • !users

 

К сожалению, пока есть только минимальная поддержка создания элементов в списках. Поддержка MOSS 2007 (WSS 3.0) вот вот ожидается. Зато все это поставляется вместе с исходными кодами.