使用 PowerShell 创建 SharePoint 网站并添加用户

此文章适用于 Microsoft 365 企业版和 Office 365 企业版。

使用适用于 Microsoft 365 的 PowerShell 创建 SharePoint 网站并添加用户时,可以快速且重复地执行任务,而不是在Microsoft 365 管理中心。 还可以执行Microsoft 365 管理中心中无法执行的任务。

连接到 SharePoint

本文中的过程要求连接到 SharePoint。 有关说明,请参阅 连接到 SharePoint PowerShell

步骤 1:使用 PowerShell 创建新的网站集

使用 PowerShell 创建多个站点,并使用提供的示例代码和记事本创建 .csv 文件。 对于此过程,你将将方括号中显示的占位符信息替换为自己的特定于站点和租户的信息。 此过程允许创建单个文件并运行使用该文件的单个 PowerShell 命令。 这使操作既可重复又可移植,并消除了在 SharePoint 命令行管理程序中键入长命令(如果不是全部)产生的许多错误。 此步骤包括两个部分。 首先创建一个 .csv 文件,然后使用 PowerShell 引用该 .csv 文件,后者使用其内容创建网站。

PowerShell cmdlet 导入 .csv 文件,并通过管道将其传递给大括号内的循环,该循环将文件的开头行作为列标题读取。 然后,PowerShell cmdlet 循环访问剩余的记录,为每个记录创建新的网站集,并根据列标题分配网站集的属性。

创建 .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
    

    其中 ,tenant 是租户的名称, 所有者 是要向其授予主站点管理员角色的租户上的用户的用户名。

    (使用记事本快速批量替换时,可以按 Ctrl+H。)

  2. 将桌面上的文件另存为 SiteCollections.csv

提示

在使用此或任何其他 .csv 或Windows PowerShell脚本文件之前,最好是确保没有无关或非打印字符。 在 Word 中打开该文件,在功能区单击“段落”图标以显示非打印字符。 应该没有多余的非打印字符。 例如,除了文件末尾的最后一个段落标记之外,应该没有其他任何段落标记。

运行 Windows PowerShell 命令

  1. 在Windows PowerShell提示符下,键入或复制并粘贴以下命令,然后按 Enter:

    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 提示符处键入或复制并粘贴以下 cmdlet,然后按 Enter 键:

    Get-SPOSite -Detailed | Format-Table -AutoSize
    
  4. 请注意列表中的新网站集。 使用示例 CSV 文件,你将看到以下网站集: TeamSite01Blog01Project01Community01

就是这样。 使用创建的 .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 命令行管理程序。

  2. 在Windows PowerShell命令提示符处,键入或复制并粘贴以下行,然后按 Enter:

    Set-ExecutionPolicy Bypass
    
  3. 在确认提示符下,按 Y

  4. 在Windows PowerShell命令提示符下,键入或复制并粘贴以下内容,然后按 Enter:

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

    其中 MyAlias 等于你的用户名

  5. 在继续之前,请等待提示符返回。 你将首先看到组在创建时显示。 然后,你将看到在添加用户时重复的组列表。

另请参阅

连接到 SharePoint PowerShell

使用 PowerShell 管理 SharePoint 网站组

使用 PowerShell 管理 Microsoft 365

PowerShell for Microsoft 365 入门