Найти в Дзене
inPowerShell

Получение и изменение списка администраторов сайта SharePoint Server при помощи PowerShell

В предыдущем посте мы рассматривали облачный сервис SharePoint Online. Теперь давайте поговорим о ферме SharePoint, развернутой локально. Мы можем указать первичного (Primary) и вторичного (Secondary) администраторов коллекции сайтов SharePoint в портале SharePoint Central Administration, выбрав в меню пункт Application Management и перейдя по ссылке Change site collection administrators, расположенной в разделе Site Collections. Первичный и вторичный администраторы — это те, кто, кроме всего прочего, получает уведомления по электронной почте о различных событиях, происходящих в SharePoint, например, о достижении коллекцией сайтов лимита объема хранения. Список остальных администраторов коллекции сайтов вы можете указать в свойствах сайта (Site Settings). Для этого, находясь на нужном вам сайте, в правой верхней части страницы нажмите на значок шестеренки и выберите Site Settings. Если Site Settings в меню отсутствует, выберите Site information и в открывшемся окне нажмите на View all
Оглавление

В предыдущем посте мы рассматривали облачный сервис SharePoint Online. Теперь давайте поговорим о ферме SharePoint, развернутой локально.

Мы можем указать первичного (Primary) и вторичного (Secondary) администраторов коллекции сайтов SharePoint в портале SharePoint Central Administration, выбрав в меню пункт Application Management и перейдя по ссылке Change site collection administrators, расположенной в разделе Site Collections.

Первичный и вторичный администраторы — это те, кто, кроме всего прочего, получает уведомления по электронной почте о различных событиях, происходящих в SharePoint, например, о достижении коллекцией сайтов лимита объема хранения.

Список остальных администраторов коллекции сайтов вы можете указать в свойствах сайта (Site Settings). Для этого, находясь на нужном вам сайте, в правой верхней части страницы нажмите на значок шестеренки и выберите Site Settings. Если Site Settings в меню отсутствует, выберите Site information и в открывшемся окне нажмите на View all site settings. Затем в разделе Users and Permissions выберите Site collection administrators.

Теперь давайте сделаем то же самое при помощи PowerShell.

Primary and Secondary administrator

Информация о первичном администраторе коллекции сайтов указывается в свойстве Owner, а о вторичном — в свойстве SecondaryContact объекта Microsoft.SharePoint.SPSite, возвращаемого командлетом Get-SPSite.

Get-SPSite -Identity http://ServerName/SitePath | Select-Object -Property Owner, SecondaryContact

Нужно сказать, что значениями обоих свойств являются объекты типа Microsoft.SharePoint.SPUser, поэтому, если вам требуется более полная информация об этих администраторах, вы можете выполнить следующие команды:

Get-SPSite -Identity http://ServerName/SitePath | Select-Object -ExpandProperty Owner

Get-SPSite -Identity http://ServerName/SitePath | Select-Object -ExpandProperty SecondaryContact

С другой стороны, если все, что вам нужно — это имя пользователя, являющегося первичным администратором определенного сайта, вы можете запросить значение свойства OwnerLoginName объекта Microsoft.SharePoint.SPSite.

Get-SPSite -Identity http://ServerName/SitePath | Select-Object -Property OwnerLoginName

Изменить первичного и вторичного администраторов вы можете при помощи командлета Set-SPSite и его параметров -OwnerAlias и -SecondaryOwnerAlias, соответственно.

Set-SPSite -Identity http://ServerName/SitePath -OwnerAlias NewAdmin@domain.com -SecondaryOwnerAlias NewSecondaryAdmin@domain.com

Administrators

Получение списка администраторов сайта

Получить список остальных администраторов сайта вы можете при помощи все того же командлета Get-SPSite. Для этого вам нужно обратиться к свойству RootWeb возвращаемого командлетом объекта Microsoft.SharePoint.SPSite, а затем к свойству SiteAdministrators объекта, расположенного в RootWeb.

Например, так.

$site = Get-SPSite -Identity http://ServerName/SitePath

$site.RootWeb.SiteAdministrators

Стоит сказать, что в этом списке присутствуют все администраторы коллекции сайтов, включая первичного и вторичного.

Также, список администраторов мы можем получить, воспользовавшись командлетом Get-SPUser.

Get-SPUser -Web http://ServerName/SitePath | Where-Object -Property IsSiteAdmin

Добавление администраторов коллекции сайтов

Для того, чтобы указать определенного пользователя в качестве администратора коллекции сайтов, мы можем воспользоваться командлетом Set-SPUser и его параметром -IsSiteCollectionAdmin. Поскольку он является параметром типа switch, то указания какого-либо значения не требуется.

Set-SPUser -Web http://ServerName/SitePath -Identity NewAdminIdentity -IsSiteCollectionAdmin

Например, команда может выглядеть так.

Set-SPUser -Web http://sharepointserver/sites/site -Identity 'i:0#.w|domain\newadmin' -IsSiteCollectionAdmin

Удаление администраторов коллекции сайтов

Удаление пользователя из списка администраторов сайта происходит аналогичным образом. Однако, поскольку, как уже упоминалось выше, параметр -IsSiteCollectionAdmin принадлежит к типу switch, в этом случае нам потребуется указать его следующим образом: -IsSiteCollectionAdmin:$false.

Set-SPUser -Web http://ServerName/SitePath -Identity NewAdminIdentity -IsSiteCollectionAdmin:$false