РУКОВОДСТВО: Администрирование Sharepoint с помощью PowerShell

Это руководство для тех, кто уже знает, что такое 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 и, безусловно, моя любимая часть современных интерфейсов командной строки!)

Ссылка на основную публикацию
Adblock
detector