Страницы с тегами : PowerShell

SharePoint Administrator Roadmap

Снова по просьбам читателей

  1. Для изучения администрирования SharePoint понадобятся базовые знания об администрировании следующих компонент и приложений:
    1. Active Directory Domain Services
    2. SQL Server 2008
    3. IIS Weberver
  2. Для начала просмотреть видеокурс Getting Started for IT Pros.
  3. Затем курс Advanced IT Professional Training. Обязательно выполните лабораторки в этом курсе.
  4. Далее прочитайте цикл статей про развертывание SharePoint в организации.
  5. Администраторы обычно выполняют  функции Power Users, занимаются небольшими кастомизациями и обучением пользователей. Поэтому крайне необходимо изучать все материалы на сайте http://office.microsoft.com/ru-ru/training/.
  6. Если вы хотите качественно настроить поиск SharePoint, то вам может пригодиться видеокурс Enterprise Search IT professional training. Обязательно выполняйте лабораторки.
  7. Справку и различные гайды по интересующим вас аспектами SharePoint вы сможете найти в Resource Centers.
  8. Для повышения квалификации выполняйте лабораторные работы. Они отнимают немного времени и позволяют изучить различные аспекты с которыми вы (пока) не столкнулись в работе.
  9. SharePoint активно использует PowerShell для администрирования. Изучайте PowerShell, это поможет вам решать задачи, которые требуют программирования.
  10. Ответы почти на все вопросы можно найти на TechNet. Зачастую достаточно пошагово выполнить руководство чтобы все заработало как надо.


Развертывание решений SharePoint с помощью PowerShell

После прочтения кучи книг, статей и просмотра видео, обойдя все подводные камни, и сделав наконец свое решение на SharePoint у вас появляется вопрос: “а как его запустить у заказчика?” Visual Studio предательски сама активирует фичи решения по F5 и деактивирует при завершении отладки. А как тоже сделать у заказчика? А если у вас доступа на машину заказчика нет?

Для начала стоит подробнее рассмотреть что же требуется для развертывания вашего решения. Обычно развертывание состоит из нескольких шагов:

  1. Добавление WSP-решений уровня фермы
  2. Добавление sandboxed решений
  3. Активация фич
  4. Выполнение дополнительных действий

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

Вроде все просто. Вооружившись справочником по командам PowerShell  для SharePoint попробуем написать скрипт

Add-SPSolution -LiteralPath "SomePath\MySolution.wsp"
Install-SPSolution -Identity "mysolution.wsp" -GACDeployment
Enable-SPFeature MyFeature -Url http://localhost/

Сразу куча проблем:

  1. Работает только из SharePoint Management Shell
  2. Add-SPSolution  не понимает относительных путей
  3. На localhost не будет нужного сайта или надо будет разворачивать в другое место
  4. Sandboxed решения так добавить не получится

Чтобы не заставлять пользователя запускать Management Shell можно написать в начале

Add-PSSnapin Microsoft.SharePoint.Powershell

Но после этого появляется ошибка при запуске из Management shell…

Чтобы обойти проблему нужно проверять загружено ли расширение

if(!(Get-PSSnapin Microsoft.SharePoint.Powershell -ErrorAction:SilentlyContinue))
{
    Add-PSSnapin Microsoft.SharePoint.Powershell
}

Вместо hardcoded параметра сайта можно запрашивать параметр в скрипте с помощью оператора param.  А вот чтобы получить текущий путь скрипта надо использовать хак.

Второй вариант скрипта:

param($siteUrl= $(Read-Host "siteUrl"))