Это руководство для тех, кто уже знает, что такое Sharepoint. По сути, руководство сосредоточено на администрировании Sharepoint, использующем PowerShell (PoSH)
Переменные:
Это просто объект, который содержит что-то. Переменные могут быть идентифицированы предшествующим $, таким как «новая» переменная, которая следует:
$ новый
Мы заполняем переменные знаком =. Следующее создает экземпляр (создает экземпляр) веб-объекта SharePoint (называемого объектом SPWeb на общедоступном языке объектной модели сервера):
$ newSPweb = get-spweb http://url.to/my/subsite
Вы можете называть свои переменные практически как угодно, хотя есть правила — поищите их в Google, если вам интересно, так как соглашения об именах объектов .Net немного выходят за рамки этого документа.
Объектная модель SharePoint Server:
Это то, что делает администрирование SharePoint в командной строке ооочень проще и интереснее графического интерфейса. Однако к нему предъявляются некоторые требования — в основном вам необходимо предоставить привилегию SPShellAdmin для каждой базы данных, с которой вы хотите выполнить операции.
Если вы находитесь на обычном экране PowerShell, вы можете добавить сборку SharePoint, введя следующее:
Добавить-pssnapin Microsoft.sharepoint.powershell
Если у вас нет SPShellAdmin, вы, скорее всего, получите сообщение об отсутствии фермы…
Ниже приведена команда, которую я запускаю с одной из наших учетных записей службы администратора фермы каждый раз, когда обнаруживаю, что в моей учетной записи отсутствует SPShellAdmin (у нас работает около 20 различных ферм).
Просто обратите внимание — эта команда должна быть запущена с учетной записью, которая уже имеет SPShellAdmin — она также должна запускаться с приложением командной консоли SharePoint с административными / повышенными привилегиями:
$ spdb = get-spdatabase
$ username = «домен \ myuser»
Foreach ($ _ in $ spdb) {add-spshelladmin –database $ _. Id –username $ username}
Эта команда извлекает ВСЕ имена баз данных, которые используются текущими базами данных SharePoint, и сохраняет их в этой переменной $ spdb, а также говорит, что в цикле они будут индивидуально адресованы с помощью переменной $ _.
Переменная $ username — это имя пользователя, для которого вы хотите получить привилегию SPShellAdmin. Цикл ForEach говорит, что для каждого элемента, расположенного в переменной $ spdb (которая является каждой из баз данных, вы можете просмотреть это, просто набрав get-spdatabase), должна быть выполнена команда между {}. Внутри {} вы увидите $ _. Id — это говорит о том, что идентификатор (GUID) конкретного элемента базы данных должен использоваться с параметром –database, а ваше имя пользователя — в параметре –username.
При условии, что все прошло хорошо, вам будет представлен мой любимый вывод абсолютно ничего! Это считается одной из тех ситуаций, «нет новостей, это хорошие новости».
Двигаясь дальше …
Теперь, когда у нас есть авторизация для входа, выйдите из своей учетной записи службы и войдите в свою обычную учетную запись.
Вернувшись, откройте обычное старое окно PoSH и добавьте сборку SharePoint:
Добавить-pssnapin Microsoft.sharepoint.powershell
Далее введите
Get-SPWebApplication
чтобы увидеть все веб-приложения в вашей ферме.
Давайте поместим один в переменную:
$ SPWebApp = get-spwebapplication http: // urlToMyWebApp
$ SPWebApp | получить членов
Вы должны увидеть огромный список вещей на вашем экране сейчас — это все объекты-члены, которые доступны вам через объектную модель для игры.
$ SPWebApp.sites | выберите rootweb, url
Теперь вы должны увидеть список всех семейств сайтов, которые вы ранее создали в своем веб-приложении.
Поиграйте с get-member и выберите, используя | …. Эта вертикальная линия называется Труба — это то, как вы можете передавать объекты из одной команды в другую.
Вы также можете попробовать нажать кнопку TAB на частично законченной команде, чтобы увидеть, что происходит (это называется Tab-Completion и, безусловно, моя любимая часть современных интерфейсов командной строки!)