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) вот вот ожидается. Зато все это поставляется вместе с исходными кодами.