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

 

**上一次修改主题:**2016-08-09

**摘要:**使用 Office 365 PowerShell 创建新的 SharePoint Online 网站,然后将用户和组添加到这些网站。

当你使用 Office 365 PowerShell 创建 SharePoint Online 网站并添加用户时,你可以快速重复地执行任务,这比起你在 Office 365 管理中心中执行要快得多。你还可以执行在 Office 365 管理中心中无法执行的任务。

开始之前

在你开始使用 Office 365 PowerShell 管理 SharePoint Online 之前,请确保安装了 SharePoint Online Management Shell 及其先决条件并且已连接到 SharePoint Online。

通过下载并运行 SharePoint Online Management Shell 安装 SharePoint Online Management Shell。只需对每台计算机执行一次此操作。

若要打开 SharePoint Online Management Shell 的命令提示符,请从开始屏幕中键入 sharepoint,然后单击“SharePoint Online Management Shell”。

若要连接到 SharePoint Online,请填写 $adminUPN$orgName 变量的值(替换引号中的所有文本,包括 < and > 字符),然后在 SharePoint Online Management Shell 命令提示符中运行以下命令:

$adminUPN="<the full email address of an Office 365 administrator account, example: jdoe@contosotoycompany.onmicrosoft.com>"
$orgName="<name of your Office 365 organization, example: contosotoycompany>"
$userCredential = Get-Credential -UserName $adminUPN -Message "Type the password."
Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $userCredential

系统通过“Windows PowerShell 凭据请求”对话框提示你时,请键入 Office 365 管理员帐户的密码。

你现在就可以开始执行 SharePoint Online 命令。

步骤 1:使用 Office 365 PowerShell 新建网站集

使用 Office 365 PowerShell 和您使用提供的示例代码和记事本创建的 .csv 文件创建多个网站。在此步骤中,您将使用您自己的网站和租户特定信息替换括号中显示的占位符信息。此过程使您能够创建单个文件并运行一个使用该文件的 Office 365 PowerShell 命令。这使得所采取的操作具有可重复性和可移植性,并可以减少许多(如果不是全部)因向 SharePoint Online 命令行管理程序键入长命令而导致的错误。此步骤包括两个部分。首先,您要创建一个 .csv 文件,然后使用 Office 365 PowerShell 引用该 .csv 文件,从而利用该文件的内容来创建网站。

Office 365 PowerShell cmdlet 导入 .csv 文件并将其通过管道传递到大括号内的循环中,该循环将读取文件的第一行作为列标题。然后,Office 365 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。

    • “<owner>”是您要为其授予网站集主管理员角色的租户的用户的用户名。

  2. 在桌面上将文件保存为 SiteCollections.csv。

    提示

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

运行 Windows PowerShell 命令

  1. 在 Windows PowerShell 提示符下键入或复制并粘贴以下 cmdlet,然后按 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. 请注意列表中的新网站集。您应当看到以下网站集:“contosotest”、“TeamSite01”、“Blog01”和“Project01”。

  5. 就是这样。您已经使用您创建的 .csv 文件和一个 Windows PowerShell cmdlet 创建了多个网站集。现在,您可以创建用户并将其分配给这些网站。

步骤 2:添加用户和组

现在,您将创建用户并将其添加到网站集组中。然后,您将使用 .csv 文件批量上载新的组和用户。

下列步骤假定您已成功创建网站集 contosotest、TeamSite01、Blog01 和 Project01。

创建 .csv 和 .ps1 文件

  1. 打开记事本,然后向其中粘贴以下文本块:

    Site,Group,PermissionLevels
    https://<tenant>.sharepoint.com/sites/contosotest,Contoso Project Leads,Full Control
    https://<tenant>.sharepoint.com/sites/contosotest,Contoso Auditors,View Only
    https://<tenant>.sharepoint.com/sites/contosotest,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
    

    其中,“<tenant>”等于您的租户名称。

  2. 将文件作为 GroupsAndPermissions.csv 保存到您的桌面上。

  3. 打开记事本的新实例,然后向其中粘贴以下文本块:

    Group,LoginName,Site
    Contoso Project Leads,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    Contoso Auditors,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    Contoso Designers,<username>@<tenant>.onmicrosoft.com,https://<tenant>.sharepoint.com/sites/contosotest
    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
    

    其中:

    • “<tenant>”等于您的租户名称。

    • “<username>”等于现有用户的用户名。

  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 脚本。

  7. 现在,您可以运行 UsersAndGroup.ps1 脚本以向多个网站集中添加用户和组。

运行 UsersAndGroups.ps1 脚本

  1. 返回到 SharePoint Online 命令行管理程序。

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

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

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

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

    其中,“<MyAlias>”等于您的用户名。

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

另请参阅

使用 Office 365 PowerShell 管理 Office 365
Office 365 PowerShell 入门
使用 Office 365 PowerShell 管理 SharePoint Online
使用 Office 365 PowerShell 管理用户帐户和许可证
使用 Windows PowerShell 在 Office 365 中创建报告