В предыдущем посте мы рассматривали облачный сервис 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