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

В портале администрирования SharePoint Online мы можем указать как первичного администратора — Primary Admin, так и остальных администраторов в свойствах сайта.

Давайте рассмотрим, как это сделать при помощи PowerShell.

Пролог

Для взамодействия с SharePoint Online через PowerShell, нам потребуется модуль Microsoft.Online.SharePoint.PowerShell.

Вы можете установить его из PowerShell Gallery при помощи команды Install-Module.

Install-Module Microsoft.Online.SharePoint.PowerShell

Обновить уже установленный модуль до новой версии можно при помощи команды Update-Module.

Update-Module Microsoft.Online.SharePoint.PowerShell

Следует сказать, что на данный момент работа модуля Microsoft.Online.SharePoint.PowerShell поддерживается только в Windows PowerShell, и это означает, что использовать его в PowerShell Core 6.x вы не сможете.

Для подключения к SharePoint Online вы можете воспользоваться командой Connect-SPOService.

$credential = Get-Credential -Credential user@domain.com
Connect-SPOService -Url "https://ВашТенант-admin.sharepoint.com" -Credential $credential

Если вы используете мультифакторную аутентификацию — MFA, воспользоваться параметром -Credential у вас не получится, следовательно команда будет выглядеть следующим образом

Connect-SPOService -Url "https://ВашТенант-admin.sharepoint.com"

и после ее запуска вам будет предложено ввести имя пользователя, пароль, а также выполнить некие дополнительные действия, подтверждающие вашу аутентичность.

Получить список всех имеющихся сайтов вы можете при помощи команды

Get-SPOSite

Вы можете воспользоваться результатами ее выполнения для копирования Url сайта, для того чтобы вам не пришлось вводить его имя вручную в следующих командах.

Primary admin

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

Получить информацию о первичном администраторе сайта вы можете при помощи все той же команды Get-SPOSite. Primary admin указывается в качестве значения свойства Owner полученного объекта Microsoft.Online.SharePoint.PowerShell.SPOSite.

Например.

Get-SPOSite -Identity "https://ВашТенант.sharepoint.com/sites/thesite"

Указать в качестве Primary admin какую-либо другую учетную запись вы можете при помощи команды Set-SPOSite.

Set-SPOSite -Identity "https://ВашТенант.sharepoint.com/sites/thesite" -Owner NewPrimaryAdmin@domain.com

Admins

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

Что касается списка остальных администраторов, тут все немного интереснее.

Получить их список мы можем при помощи команды Get-SPOUser. Информация о том, является ли определенный пользователь администратором обозначенного сайта, указывается в свойстве IsSiteAdmin.

Get-SPOUser -Site "https://ВашТенант.sharepoint.com/sites/thesite" | Format-Table -Property DisplayName, LoginName, IsSiteAdmin

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

Для того, чтобы пользователи, являющиеся администраторами, в выводе нашей команды отображались первыми, мы можем добавить в конвейер командлет Sort-Object.

Get-SPOUser -Site "https://ВашТенант.sharepoint.com/sites/thesite" | Sort-Object -Property IsSiteAdmin -Descending | Format-Table -Property DisplayName, LoginName, IsSiteAdmin

Ну а для того, чтобы вывести список только исключительно пользователей, являющихся администраторами сайта, мы можем воспользоваться командлетом Where-Object.

Get-SPOUser -Site "https://ВашТенант.sharepoint.com/sites/thesite" | Where-Object -Property IsSiteAdmin | Format-Table -Property DisplayName, LoginName, IsSiteAdmin

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

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

Set-SPOUser -Site "https://ВашТенант.sharepoint.com/sites/thesite" -LoginName NewAdmin@domain.com -IsSiteCollectionAdmin $true

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

Аналогично, чтобы указать, что определенный пользователь не является более администратором какого-либо сайта, в качестве значения параметра -IsSiteCollectionAdmin мы задаем значение $false.

Set-SPOUser -Site "https://ВашТенант.sharepoint.com/sites/thesite" -LoginName NewAdmin@domain.com -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