Получение и изменение списка администраторов сайта 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 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

Links:
GitHub: https://github.com/sethvs
Twitter: https://twitter.com/vsseth
Facebook: https://fb.com/inpowershell
VK: https://vk.com/inpowershell


Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google photo

Для комментария используется ваша учётная запись Google. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s