Создание сайтов и добавление пользователей в SharePoint Online с помощью PowerShell

Эта статья относится к Microsoft 365 корпоративный и Office 365 корпоративный.

При использовании PowerShell для Microsoft 365 для создания сайтов SharePoint Online и добавления пользователей вы можете быстро и многократно выполнять задачи гораздо быстрее, чем в Центр администрирования Microsoft 365. Вы также можете выполнять задачи, которые невозможно выполнить в Центр администрирования Microsoft 365.

Подключение к SharePoint Online

Процедуры, описанные в этом разделе, требуют подключения к SharePoint Online. Инструкции см. в статье Подключение к SharePoint Online PowerShell.

Шаг 1. Создание семейств веб-сайтов с помощью PowerShell

Создайте несколько сайтов с помощью PowerShell и файла .csv, который вы создаете с помощью примера кода и Блокнота. Для этой процедуры вы будете заменять сведения о заполнителях, отображаемые в квадратных скобках, собственными сведениями о сайте и клиенте. Этот процесс позволяет создать один файл и выполнить одну команду PowerShell, которая использует этот файл. Это делает выполняемые действия повторяемыми и переносимыми, а также устраняет многие, если не все, ошибки, которые могут возникнуть при вводе длинных команд в командную консоль SharePoint Online. Эта процедура имеет две части. Сначала вы создадите файл .csv, а затем сослаться на него .csv файл с помощью PowerShell, который будет использовать его содержимое для создания сайтов.

Командлет PowerShell импортирует файл .csv и передает его в цикл внутри фигурных скобок, который считывает первую строку файла в виде заголовков столбцов. Затем командлет PowerShell выполняет итерацию по оставшимся записям, создает новое семейство веб-сайтов для каждой записи и назначает свойства семейства веб-сайтов в соответствии с заголовками столбцов.

Создание CSV-файла

Примечание.

Параметр квоты ресурсов работает только на классических сайтах. Если вы используете этот параметр на современном сайте, вы можете получить предупреждение о том, что он не рекомендуется использовать.

  1. Откройте Блокнот и вставьте в него следующий блок текста:

    Owner,StorageQuota,Url,ResourceQuota,Template,TimeZoneID,Name
    owner@tenant.onmicrosoft.com,100,https://tenant.sharepoint.com/sites/TeamSite01,25,EHS#1,10,Contoso Team Site
    owner@tenant.onmicrosoft.com,100,https://tenant.sharepoint.com/sites/Blog01,25,BLOG#0,10,Contoso Blog
    owner@tenant.onmicrosoft.com,150,https://tenant.sharepoint.com/sites/Project01,25,PROJECTSITE#0,10,Project Alpha
    owner@tenant.onmicrosoft.com,150,https://tenant.sharepoint.com/sites/Community01,25,COMMUNITY#0,10,Community Site
    

    Где клиент — это имя вашего клиента, а владелец — это имя пользователя в клиенте, которому требуется предоставить роль основного администратора семейства веб-сайтов.

    (При использовании Блокнота для ускорения массовой замены можно нажать клавиши CTRL+H.)

  2. Сохраните файл на рабочем столе какSiteCollections.csv.

Совет

Перед использованием этого или любого другого файла скрипта .csv или Windows PowerShell рекомендуется убедиться, что нет лишних или непечатных символов. Откройте файл в Word и щелкните значок абзаца на ленте, чтобы показать непечатаемые символы. Файлы не должны содержать лишние непечатаемые символы. Например, в конце файла не должно быть знаков абзаца.

Выполнение команды Windows PowerShell

  1. В командной строке Windows PowerShell введите или скопируйте и вставьте следующую команду и нажмите клавишу ВВОД:

    Import-Csv C:\users\MyAlias\desktop\SiteCollections.csv | ForEach-Object {New-SPOSite -Owner $_.Owner -StorageQuota $_.StorageQuota -Url $_.Url -NoWait -ResourceQuota $_.ResourceQuota -Template $_.Template -TimeZoneID $_.TimeZoneID -Title $_.Name}
    

    Где MyAlias равен вашему псевдониму пользователя.

  2. Дождитесь появления окна командной строки Windows PowerShell. Для этого может потребоваться одна или две минуты.

  3. В командной строке Windows PowerShell введите или скопируйте и вставьте следующий командлет, а затем нажмите клавишу ВВОД:

    Get-SPOSite -Detailed | Format-Table -AutoSize
    
  4. Обратите внимание на новые семейства веб-сайтов в списке. Используя наш пример CSV-файла, вы увидите следующие семейства веб-сайтов: TeamSite01, Blog01, Project01 и Community01.

Вот и все. Вы создали несколько семейств веб-сайтов с помощью созданного файла .csv и одной команды Windows PowerShell. Теперь вы можете создать пользователей и назначить их сайтам.

Действие 2. Добавление пользователей или групп

Теперь мы создадим пользователей и добавим их в группу семейства сайтов. Мы используем CSV-файл для массовой загрузки новых групп и пользователей.

В следующих процедурах по-прежнему используются примеры сайтов TeamSite01, Blog01, Project01 и Community01.

Создание CSV- и PS1-файлов

  1. Откройте Блокнот и вставьте в него следующий блок текста:

    Site,Group,PermissionLevels
    https://tenant.sharepoint.com/sites/Community01,Contoso Project Leads,Full Control
    https://tenant.sharepoint.com/sites/Community01,Contoso Auditors,View Only
    https://tenant.sharepoint.com/sites/Community01,Contoso Designers,Design
    https://tenant.sharepoint.com/sites/TeamSite01,XT1000 Team Leads,Full Control
    https://tenant.sharepoint.com/sites/TeamSite01,XT1000 Advisors,Edit
    https://tenant.sharepoint.com/sites/Blog01,Contoso Blog Designers,Design
    https://tenant.sharepoint.com/sites/Blog01,Contoso Blog Editors,Edit
    https://tenant.sharepoint.com/sites/Project01,Project Alpha Approvers,Full Control
    

    Где клиент равен вашему имени клиента.

  2. Сохраните файл на рабочем столе как GroupsAndPermissions.csv.

  3. Откройте новый экземпляр Блокнота и вставьте в него следующий блок текста:

    Group,LoginName,Site
    Contoso Project Leads,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    Contoso Auditors,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    Contoso Designers,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Community01
    XT1000 Team Leads,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/TeamSite01
    XT1000 Advisors,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/TeamSite01
    Contoso Blog Designers,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Blog01
    Contoso Blog Editors,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Blog01
    Project Alpha Approvers,username@tenant.onmicrosoft.com,https://tenant.sharepoint.com/sites/Project01
    

    Если клиент равен имени клиента, а имя пользователя — имени существующего пользователя.

  4. Сохраните файл на рабочем столе как Users.csv.

  5. Откройте новый экземпляр Блокнота и вставьте в него следующий блок текста:

    Import-Csv C:\users\MyAlias\desktop\GroupsAndPermissions.csv | ForEach-Object {New-SPOSiteGroup -Group $_.Group -PermissionLevels $_.PermissionLevels -Site $_.Site}
    Import-Csv C:\users\MyAlias\desktop\Users.csv | where {Add-SPOUser -Group $_.Group –LoginName $_.LoginName -Site $_.Site}
    

    Где MyAlias равно имени пользователя, вошедшего в систему.

  6. Сохраните файл на рабочем столе как UsersAndGroups.ps1. Это простой сценарий Windows PowerShell.

Теперь вы можете выполнить скрипт UsersAndGroup.ps1, чтобы добавить пользователей и группы в несколько семейств сайтов.

Выполнение скрипта UsersAndGroups.ps1

  1. Вернитесь в командную консоль SharePoint Online.

  2. В командной строке Windows PowerShell введите или скопируйте и вставьте следующую строку, а затем нажмите клавишу ВВОД:

    Set-ExecutionPolicy Bypass
    
  3. В запросе на подтверждение нажмите Y.

  4. В командной строке Windows PowerShell введите и или скопируйте и вставьте следующую строку, а затем нажмите клавишу ВВОД:

    c:\users\MyAlias\desktop\UsersAndGroups.ps1
    

    Где MyAlias равно вашему имени пользователя.

  5. Дождитесь появления окна командной строки. Сначала вы увидите группы по мере их создания. Затем вы увидите список групп, который повторяется при добавлении пользователей.

См. также

Подключение к PowerShell в SharePoint Online

Управление группами сайтов SharePoint Online с помощью PowerShell

Управление Microsoft 365 с помощью PowerShell

Начало работы с PowerShell для Microsoft 365