Утомляет ли вас центр администрирования SharePoint, кажется недостаточным, и хотите ли вы перейти на командную строку? Да, это возможно с помощью модуля PowerShell SharePoint Online Management.
Этот модуль позволяет выполнять те же задачи, которые вы обычно делаете в центре администрирования SharePoint, в PowerShell. Более того, вы можете автоматизировать свои задачи SharePoint Online!
Это руководство учит основам управления SharePoint Online с помощью PowerShell. Вы научитесь устанавливать модуль, выполнять общие административные задачи и автоматизировать повторяющиеся действия. Не уходите и погружайтесь прямо сейчас!
Предварительные требования
Это руководство будет практической демонстрацией. Если вы хотите следовать вместе, убедитесь, что у вас есть следующее:
- Вы должны иметь роль Администратора SharePoint или выше в тенанте Microsoft 365.
- Вы должны знать URL-адрес администратора SharePoint Online и URL-адрес портала. Обратитесь к этой ссылке, чтобы узнать, как получить URL-адрес администратора SharePoint Online в вашем тенанте.
В этом руководстве будет использоваться URL-адрес портала HTTPS://lzex.sharepoint.com и URL-адрес администратора HTTPS://lzex-admin.sharepoint.com.
- Windows PowerShell 5.1 или последний PowerShell 7 на Windows. В этом учебнике используется Windows PowerShell 5.1 на Windows 10.
Установка модуля PowerShell SharePoint Online
Для управления SharePoint Online с помощью PowerShell сначала необходимо установить модуль PowerShell SharePoint Online Management. Этот модуль предоставляет командлеты, которые позволяют подключаться и управлять вашей организацией и ресурсами SharePoint онлайн.
Самый быстрый и удобный способ установить модуль PowerShell SharePoint Online – из галереи PowerShell с помощью командлета Install-Module. Для этого выполните следующие шаги.
1. Откройте PowerShell от имени администратора.
2. Запустите следующую команду. Эта команда устанавливает модуль Microsoft.Online.SharePoint.PowerShell.
3. Чтобы подтвердить успешность установки модуля, выполните следующую команду, чтобы получить информацию о модуле.
Команда возвращает имя и версию модуля. Как видно ниже, на этом компьютере есть одна версия модуля Microsoft.Online.SharePoint.PowerShell. Последняя версия на момент написания этого сообщения – 16.0.22615.12000.

4. Наконец, импортируйте модуль PowerShell SharePoint, запустив нижеприведенную команду в PowerShell.
Примечание: Хотя модуль PowerShell SharePoint Online работает с PowerShell 7, вы должны явно импортировать модуль с помощью переключателя -UseWindowsPowerShell.
Игнорируйте предупреждение об отклоненных глаголах. Это предупреждение информирует вас о командлетах, которые не начинаются с утвержденных глаголов в списке Get-Verb, но не влияют на функциональность модуля.
Чтобы избежать этого предупреждения, добавьте переключатель -DisableNameChecking к команде Import-Module.

Подключение к PowerShell SharePoint Online
Теперь вы готовы подключиться к сеансу PowerShell SharePoint Online. Но прежде чем это сделать, поймите, что синтаксис и метод будут отличаться в зависимости от статуса многофакторной аутентификации вашей учетной записи администратора.
Учетная запись администратора без MFA
Если ваша учетная запись администратора не поддерживает MFA, выполните следующую команду Connect-SPOService
. Укажите свой административный URL после параметра -Url
и ваш именной принципал пользователя (UPN) после параметра -Credential
.
Введите ваш пароль в следующем запросе и нажмите Enter.


Параметр -Credential также принимает объект PSCredential, который можно создать с помощью команды Get-Credential.
Учетная запись администратора с MFA
Для учетной записи администратора MFA выполните следующие шаги для подключения к сеансу PowerShell SharePoint Online.
1. Запустите следующую команду в PowerShell. Убедитесь, что указали правильный URL администратора SharePoint.
2. В окне входа введите свое имя пользователя администратора и нажмите “Далее”.

3. Затем введите пароль для учетной записи администратора и нажмите “Войти”.

4. Наконец, выполните свой MFA-вызов. В зависимости от того, как настроен MFA для вашей учетной записи, метод MFA может отличаться от скриншота ниже.

После выполнения этих действий ваше подключение к PowerShell SharePoint online должно быть активным.
Управление сайтами, пользователями и группами с использованием модуля PowerShell SharePoint
С помощью PowerShell вы можете выполнять некоторые функциональные возможности, которые SharePoint предоставляет для SharePoint Online и различных ресурсов. В этом разделе вы будете выполнять типичные задачи SharePoint Online, такие как создание сайтов, создание групп, добавление пользователей, удаление пользователей из групп и создание отчетов о пользователях.
Создание нового сайта SharePoint
Используя команду New-SPOSite, вы можете создать новый сайт SharePoint Online. Предположим, что вы создаете новый современный сайт Team Site под названием Мой первый сайт команды, выполните следующие шаги.
1. Сначала получите имя шаблона Team Site.
Найдите шаблон, который вы хотите применить к новому сайту. В этом примере скопируйте значение Name из шаблона сайта Team (без группы Microsoft 365), STS#3.

2. Теперь выполните следующую команду, чтобы создать современный сайт команды. Убедитесь, что указаны следующие параметры.
Url - Указывает URL нового сайта. Структура этого URL следует данной конвенции - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.
Убедитесь, что URL уникален. Создание сайта завершится ошибкой, если сайт с таким же URL уже существует, даже если этот сайт находится в корзине.
Title
– Устанавливает заголовок для вашего нового сайта.
Owner - Назначает владельца сайта по его пользовательскому принципиальному имени.
Примечание: SPO автоматически устанавливает группу администраторов компании в качестве владельца сайта, если указанный вами владелец имеет роль администратора.
Template
– Указывает шаблон веб-сайта, который вы применяете к новому сайту.
StorageQuota - Конфигурирует значение квоты хранилища сайта в мегабайтах.
Примечание: Значение StorageQuota применяется только в том случае, если Лимит хранилища сайта в вашей организации SharePoint Online установлен в режиме Ручной. Если установлено значение Автоматический, преимущество имеет общая квота хранилища арендатора.
Если создание сайта прошло успешно, в PowerShell вы не получите ответа или сообщения.
3. Подтвердите существование нового сайта, запустив команду Get-SPOSite.

В конце концов, откройте URL сайта SharePoint в вашем веб-браузере, чтобы подтвердить, что сайт работает.

Создание групп сайтов и добавление пользователей
После создания нового сайта SPO вы можете начать создавать группы и добавлять пользователей с определенными уровнями разрешений . В этом разделе вы узнаете, как создавать группы и добавлять пользователей в такие группы.
Сначала создайте группы, соответствующие спецификациям в таблице ниже.
Чтобы получить список уровней разрешений, посетите Руководство по разрешениям пользователя и уровням разрешений в сервере SharePoint документации.
Site | Group | PemissionLevels |
https://tenant.sharepoint.com/sites/MyFirstTeamSite | Editing Team | Edit |
https://tenant.sharepoint.com.sites/MyFirstSite | Design Team | Design |
Для создания групп используйте командлет New-SPOSiteGroup
. Выполните следующие команды, чтобы создать группы.

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

Генерация списка пользователей сайта
Используя команду Get-SPOUser
, вы можете сгенерировать список пользователей, имеющих доступ к сайту.
Запустите команду ниже, чтобы сгенерировать список пользователей на сайте My First Team Site.
Результат будет похож на скриншот ниже. Как видно, вывод показывает список пользователей и их членство в группах.

Вы также можете вывести результаты в различные типы файлов, включая CSV, XML, JSON, YAML, HTML и обычный текст.
Удаление пользователей из групп сайта
Вам может потребоваться удалить пользователя, вероятно, потому, что вы добавили пользователя в неправильную группу или пользователь больше не является членом команды. Команда Remove-SPOUser
– это подходящий инструмент для этой задачи.
Например, выполните команду ниже, чтобы удалить пользователя [email protected]
из группы Design Te
ow.
Как видно, список Users
в группе Design Team
теперь пуст после удаления ее единственного члена.

Использование PowerShell для автоматизации SharePoint Online
Поскольку вы работаете с PowerShell, вы можете использовать его мощь для автоматизации. Например, написание сценария будет более практичным подходом при создании нескольких сайтов.
Вы можете объединить команду PowerShell SharePoint Online New-SPOSite с встроенными командами, такими как Import-Csv и ForEach-Object. В следующих шагах приведен пример создания нескольких сайтов с разными свойствами.
1. Запустите следующую команду для создания нового файла CSV с именем sites.csv.
2. Затем откройте файл CSV в текстовом редакторе. В этом примере используется notepad.exe.
3. Скопируйте следующий текст в свой файл CSV и сохраните его. Обязательно замените значения Owner и Url, чтобы они соответствовали вашей организации.
Ваш файл CSV будет выглядеть примерно так, как на скриншоте ниже.

4. Запустите следующий сценарий в PowerShell.
Если ошибок нет, на экране не появится дополнительных результатов.

5. Наконец, выполните следующую команду, чтобы подтвердить наличие новых сайтов.
Import-Csv .\sites.csv | ForEach-Object {
Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
}

Вы можете применить тот же прием, который вы только что использовали, чтобы автоматизировать массовые задачи, такие как создание групп сайтов и обновление членства в группе сайтов.
Заключение
Модуль PowerShell для SharePoint Online позволяет вам улучшить управление вашей организацией в SharePoint Online. Этот модуль не предназначен для замены центра администрирования SharePoint, а служит инструментом для расширения ваших навыков в SharePoint Online.
Помимо модуля PowerShell для SharePoint Online, вы знали, что существует еще один модуль, который позволяет управлять SharePoint Online с помощью PowerShell? Да, этот модуль – PnP PowerShell. Почему бы вам не исследовать этот модуль и сравнить, который лучше подходит для вас?