当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell SharePoint 管理入门

作者:精品下载站 日期:2024-12-14 13:10:18 浏览:14 分类:玩电脑

PowerShell SharePoint 管理入门


SharePoint 管理中心是否让您感到厌烦、发现它缺乏并想要切换到命令行?是的,可以使用 PowerShell SharePoint Online 管理模块。

此模块允许您完成通常在 PowerShell 中的 SharePoint 管理中心中执行的相同任务。此外,您还可以自动化您的 SharePoint Online 任务!

本教程教授 PowerShell SharePoint Online 管理基础知识。您将学习安装模块、执行常见管理任务以及自动执行重复操作。不要去任何地方,直接潜入!

先决条件

本教程将是一个实践演示。如果您想继续操作,请确保您具备以下条件:

  • 您必须在 Microsoft 365 租户中具有 SharePoint 管理员角色或更高角色。
  • 您必须知道您的 SharePoint Online 管理 URL 和门户 URL。请参阅此链接了解如何在租户中获取 SharePoint Online 管理 URL。

本教程将使用门户 URL HTTPS://lzex.sharepoint.com 和管理 URL HTTPS://lzex-admin.sharepoint.com

  • Windows PowerShell 5.1 或 Windows 上最新的 PowerShell 7。本教程在 Windows 10 上使用 Windows PowerShell 5.1。

安装 PowerShell SharePoint Online 模块

要使用 PowerShell 管理 SharePoint Online,必须首先安装 PowerShell SharePoint Online 管理模块。此模块提供允许您连接和管理 SharePoint 在线组织和资源的 cmdlet。

安装 PowerShell SharePoint Online 模块的最快捷、最方便的方法是使用 Install-Module cmdlet 从 PowerShell 库中进行安装。为此,请按照以下步骤操作。

1. 以管理员身份打开 PowerShell。

2. 接下来运行以下命令。此命令安装 Microsoft.Online.SharePoint.PowerShell 模块。

Install-Module -Name Microsoft.Online.SharePoint.PowerShell

3. 为确认模块安装成功,请运行以下命令获取模块信息。

Get-Module -Name Microsoft.Online.SharePoint.PowerShell -ListAvailable | Select-Object Name,Version

该命令返回模块的名称和版本。如下所示,这台计算机上有一个版本的 Microsoft.Online.SharePoint.PowerShell 模块。截至撰写本文时,最新版本是16.0.22615.12000

[玩转系统] PowerShell SharePoint 管理入门

4. 最后,通过在 PowerShell 中运行以下命令来导入 PowerShell SharePoint 模块。

注意:虽然 PowerShell SharePoint Online 模块可与 PowerShell 7 配合使用,但您必须使用 -UseWindowsPowerShell 开关显式导入该模块。

# On Windows PowerShell 5.1
Import-Module Microsoft.Online.SharePoint.PowerShell

# On PowerShell 7x
Import-Module Microsoft.Online.SharePoint.PowerShell -UseWindowsPowerShell

忽略有关未经批准的动词的警告。此警告警告您有关 cmdlet 不以 Get-Verb 列表中批准的动词开头但不影响模块功能的 cmdlet。

要避免此警告,请将 -DisableNameChecking 开关附加到 Import-Module cmdlet。

[玩转系统] PowerShell SharePoint 管理入门

连接到 PowerShell SharePoint Online

您现在已准备好连接到 PowerShell SharePoint Online 会话。但在此之前,请了解语法和方法会根据您的管理员帐户的多重身份验证状态而有所不同。

没有 MFA 的管理员帐户

如果您的管理员帐户未启用 MFA,请运行以下命令 Connect-SPOService。在 -Url 参数后指定您的管理 URL,在 -Credential 参数后指定您的用户主体名称 (UPN)

Connect-SPOService -Url <https://tenant-admin.sharepoint.com/> -Credential [email 

在下一个提示中输入您的密码,然后按 Enter。

[玩转系统] PowerShell SharePoint 管理入门

[玩转系统] PowerShell SharePoint 管理入门

-Credential 参数还接受 PSCredential 对象,您可以使用 Get-Credential cmdlet 创建该对象。

具有 MFA 的管理员帐户

对于 MFA 管理员帐户,请按照以下步骤连接到 PowerShell SharePoint Online 会话。

1. 在 PowerShell 中运行以下命令。确保指定正确的 SharePoint 管理 URL。

Connect-SPOService -Url https://tenant-admin.sharepoint.com/

2. 在弹出的登录窗口中,输入您的管理员用户名,然后单击下一步。

[玩转系统] PowerShell SharePoint 管理入门

3. 接下来,输入管理员帐户的密码,然后单击“登录”。

[玩转系统] PowerShell SharePoint 管理入门

4. 最后,完成您的 MFA 挑战。根据您为帐户配置 MFA 的方式,MFA 方法可能与下面的屏幕截图有所不同。

[玩转系统] PowerShell SharePoint 管理入门

完成这些步骤后,您的 PowerShell SharePoint 在线连接现在应该处于活动状态。

使用 PowerShell SharePoint 模块管理网站、用户和组

通过 PowerShell,您可以执行 SharePoint 向 SharePoint Online 和各种资源提供的一些功能。在本部分中,您将执行典型的 SharePoint Online 任务,例如创建网站、创建组、添加用户、从组中删除用户以及生成用户报告。

创建新的 SharePoint 网站

利用 New-SPOSite 命令,您可以创建新的 SharePoint Online 网站。假设您要创建一个名为“我的第一个团队网站”的新现代团队网站,请执行以下步骤。

1. 首先,获取团队网站模板的名称。

Get-SPOWebTemplate

查找您想要应用于新网站的模板。在此示例中,复制团队网站(无 Microsoft 365 组)模板 STS#3 的名称值。

[玩转系统] PowerShell SharePoint 管理入门

2. 现在,运行以下命令来创建现代团队站点。确保以下参数完整。

    Url - Specifies the new site's URL. This URL structure follows this convention - HTTPS://<tenant>.sharepoint.com/sites/<site-slug>.

    确保 URL 是唯一的。如果存在具有相同 URL 的站点,即使该站点位于回收站中,站点创建也会失败。

    • Title - 设置新网站的标题。
      Owner - Assigns the site owner’s user principal name.

      注意:如果您指定的所有者具有管理员角色,SPO 会自动将公司管理员组设置为网站所有者。

      • Template - 表示您要应用于新网站的 Web 模板。
        StorageQuota - Configures the site’s storage quota value in MB.

        注意:仅当 SharePoint Online 组织中的站点存储限制设置为“手动”时,StorageQuota 值才会生效。如果设置为“自动”,则租户的总存储配额优先。

        New-SPOSite `
            -Url 'https://lzex.sharepoint.com/sites/MyFirstTeamSite' `
            -Title 'My First Team Site' `
            -Owner 'sp[email ' `
            -Template 'STS#3' `
            -StorageQuota 1000

        如果站点创建成功,您将不会在 PowerShell 中收到任何响应或消息。

        3. 通过运行 Get-SPOSite cmdlet 确认新站点存在。

        Get-SPOSite -Identity 'https://lzex.sharepoint.com/sites/MyFirstTeamSite'

        [玩转系统] PowerShell SharePoint 管理入门

        4. 最后,在 Web 浏览器中打开 SharePoint 站点 URL 以确认该站点可以正常工作。

        [玩转系统] PowerShell SharePoint 管理入门

        创建站点组并添加用户

        创建新的 SPO 站点后,您可以开始创建组并添加具有特定权限级别的用户。在本节中,您将学习如何创建组并向此类组添加用户。

        首先,创建遵循下表中规范的组。

        要获取权限级别列表,请访问 SharePoint Server 文档中的用户权限和权限级别。

        SiteGroupPemissionLevelshttps://tenant.sharepoint.com/sites/MyFirstTeamSiteEditing TeamEdithttps://tenant.sharepoint.com.sites/MyFirstSiteDesign TeamDesign

        要创建组,需要执行 New-SPOSiteGroup cmdlet。运行以下命令来创建组。

        # Define the Site URL.
        $siteURL = '<https://lzex.sharepoint.com/sites/MyFirstTeamSite>'
        # Create the 'Editing Team' group with 'Edit' permission on the site.
        New-SPOSiteGroup -Site $siteURL -Group 'Editing Team' -PermissionLevels Edit
        # Create the 'Design Team' group with 'Design' permission on the site.
        New-SPOSiteGroup -Site $siteURL -Group 'Design Team' -PermissionLevels Design
        

        [玩转系统] PowerShell SharePoint 管理入门

        接下来,添加您想要成为组成员的用户。为此,请运行下面的 Add-SPOUser 命令。

        # Add a user to the 'Editing Team' site group
        Add-SPOUser -Site $siteURL -Group 'Editing Team' -LoginName [email 
        # Add a user to the 'Design Team' site group
        Add-SPOUser -Site $siteURL -Group 'Design Team' -LoginName [email 
        
        

        每个命令执行后,您将收到类似于下面的屏幕截图的结果。

        [玩转系统] PowerShell SharePoint 管理入门

        生成站点用户列表

        利用 Get-SPOUser 命令,您可以生成哪些用户可以访问该站点。

        运行以下命令以生成“我的第一个团队网站”上的用户列表。

        Get-SPOUser -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> | Format-Table -Wrap -AutoSize | Out-File <path-to-savereport> -Force -Width 360 -Append
        

        结果将类似于下面的屏幕截图。如您所见,输出显示了用户列表及其组成员身份。

        [玩转系统] PowerShell SharePoint 管理入门

        您还可以将结果输出到不同的文件类型,包括 CSV、XML、JSON、YAML、HTML 和纯文本。

        从网站组中删除用户

        您可能需要删除用户,可能是因为您将用户添加到了错误的组或用户不再属于团队。 Remove-SPOUser cmdlet 是完成此任务的正确工具。

        例如,运行以下命令从设计流程中删除用户[email

        Remove-SPOUser `
            -LoginName [email  `
            -Site <https://lzex.sharepoint.com/sites/MyFirstTeamSite> `
            -Group 'Design Team'
        

        正如您所看到的,Design Team 中的Users 列表在删除其唯一成员后现在为空。

        [玩转系统] PowerShell SharePoint 管理入门

        使用 PowerShell SharePoint Online 实现自动化

        由于您使用的是 PowerShell,因此您可以利用其强大的自动化功能。例如,在创建多个站点时,编写脚本将是一种更实用的方法。

        您可以将 PowerShell SharePoint Online New-SPOSite 命令与 Import-Csv 和 ForEach-Object 等内置命令结合起来。以下步骤为您提供了创建具有不同属性的多个站点的示例。

        1. 运行以下命令创建一个名为 sites.csv 的新 CSV 文件。

        New-Item -Type File -Path .\sites.csv

        2. 接下来,在文本编辑器中打开 CSV 文件。此示例使用 notepad.exe。

        notepad.exe .\sites.csv

        3. 将以下文本复制到 CSV 文件中并保存。确保替换所有者和 Url 值以匹配您的组织。

        Owner,StorageQuota,Url,Template,Name
        [email ,100,https://lzex.sharepoint.com/sites/new-site,STS#0,New Site
        [email ,100,https://lzex.sharepoint.com/sites/dev-site,DEV#0,Dev Site

        您的 CSV 文件将类似于下面的屏幕截图。

        [玩转系统] PowerShell SharePoint 管理入门

        4. 在 PowerShell 中运行以下脚本。

        Import-Csv .\sites.csv | ForEach-Object {
            New-SPOSite `
                -Owner $_.Owner `
                -StorageQuota $_.StorageQuota `
                -Url $_.Url `
                -Template $_.Template `
                -Title $_.Name `
                -NoWait
        }

        如果没有错误,您将不会在屏幕上看到任何其他结果。

        [玩转系统] PowerShell SharePoint 管理入门

        5. 最后,执行以下命令以确认新站点存在。

        Import-Csv .\sites.csv | ForEach-Object {
            Get-SPOSite -Identity $_.Url | Select-Object Title,Url,Owner
        }

        [玩转系统] PowerShell SharePoint 管理入门

        您可以应用刚刚执行的相同技术来自动执行批量任务,例如网站组创建和网站组成员资格更新。

        结论

        PowerShell SharePoint Online 模块允许您改进管理 SharePoint Online 组织的方式。此模块并不是要取代 SharePoint 管理中心,而是作为增强您的 SharePoint Online 技能的工具。

        除了 PowerShell SharePoint Online 模块之外,您是否知道另一个模块可让您在 PowerShell 中管理 SharePoint Online?是的,该模块就是 PnP PowerShell 模块。您为什么不探索该模块并比较哪个最适合您呢?

        您需要 登录账户 后才能发表评论

        取消回复欢迎 发表评论:

        关灯