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

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

作者:精品下载站 日期:2024-12-14 21:00:58 浏览:14 分类:玩电脑

如何从 PowerShell 连接到 SharePoint Online?


我知道我已经说过好几次了,但我会再说一遍:我爱 PowerShell! PowerShell 是一个 Microsoft 管理任务自动化和配置管理框架,允许您管理 Microsoft 产品,包括 SharePoint Online。 PowerShell 使重复性任务变得更加容易,让我们的生活变得更加智能,它有助于自动执行复杂的任务并降低人为错误的风险。我将在本文中探讨如何将 PowerShell 与 SharePoint Online 结合使用。

如何使用 PowerShell 连接到 SharePoint Online?

为什么我们应该使用PowerShell来管理SharePoint Online?如果您是 SharePoint 管理员,您就会知道 PowerShell 是您最好的朋友。使用 PowerShell,您可以自动执行许多原本需要很长时间才能完成的任务。不仅如此,我们使用PowerShell还有几个原因:

  • 执行批量操作并加快流程 - 例如,将设置应用于所有站点、文档库等。
  • 生成报告 - 例如,从站点导出所有用户权限
  • 某些操作和配置只能通过 PowerShell 完成和使用
  • 借助 Windows 任务计划程序自动执行常见的重复性任务。
  • 查询和过滤数据
  • 配置服务、操作对象、监控等。

在这篇文章中,我将向您展示如何作为初学者使用 PowerShell 连接到 SharePoint Online。因此,首先请按照以下步骤通过 PowerShell 连接到 SharePoint Online:

步骤 1:安装 SharePoint Online Management Shell 或 SharePoint Online PowerShell 模块

确保您已安装 PowerShell 和 SharePoint Online PowerShell 模块。要下载 Windows Management Framework 3(其中包括 PowerShell 3.0):https://www.microsoft.com/en-us/download/details.aspx?id=34595

下载并安装 SharePoint Online Management Shell
若要开始使用 SharePoint Online PowerShell,您必须下载并安装 SharePoint Online Management Shell。从 https://www.microsoft.com/en-us/download/details.aspx?id=35588 下载 SharePoint Online 模块的 PowerShell,并在管理模式下运行安装程序。

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

这允许您自动执行常见任务并在 SharePoint Online 环境中执行批量操作。

更新:如果您运行的是 Windows 10 等支持 PowerShell 版本 5 或较新版本:Install-Module -Name Microsoft.Online.SharePoint.PowerShell,请参阅此处了解详细信息:通过 PowerShell 安装 SharePoint Online Management Shell 模块

如何检查SharePoint Online Management Shell版本?使用“控制面板”>>“添加/删除程序”来查找已安装的 SharePoint Online Management Shell 版本!您还可以使用控制面板 - 添加/删除程序来卸载 SharePoint Online 管理 shell。

步骤 2:使用 Connect-SPOService cmdlet 连接到 SharePoint Online PowerShell

安装 SharePoint Online Management Shell 后,下一步是使用 PowerShell 连接到 SharePoint Online 网站。如何访问 SharePoint Online Management Shell?从开始菜单启动“SharePoint Online Management Shell”命令提示符,首先连接到 SharePoint Online 管理中心,然后运行以下命令连接到 SharePoint Online:(或者您也可以使用 Windows PowerShell 控制台/PowerShell ISE 运行PowerShell 脚本)


Connect-SPOService -Url https://salaudeen-admin.sharepoint.com `
           -credential salaudeen@salaudeen.onmicrosoft.com

在使用任何其他 SharePoint Online cmdlet 之前,必须执行此 cmdlet。一旦你按下回车键,你就会收到登录提示,要求你输入用户名和密码。确保您连接的帐户具有 SharePoint Online 管理员的最低权限,并在管理网站 URL 中使用 HTTPS。您会收到输入密码的提示。

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

步骤 3:开始使用 SharePoint Online PowerShell cmdlet!

如何使用SharePoint Online Management Shell?连接后,您可以开始使用 SharePoint Online 租户或单个网站的 PowerShell cmdlet 管理 SharePoint Online,例如 Get-SPOSite cmdlet。以下是如何使用 SharePoint Online Management Shell 的一些示例。让我们使用 PowerShell 在 SharePoint Online 中创建一个网站集。

使用 SharePoint Online PowerShell 创建网站集
现在,您可以从 PowerShell 访问 SharePoint Online 并开始管理 SharePoint 网站(从 PowerShell 控制台/SharePoint Online Management Shell 或从 PowerShell ISE)。让我们使用以下 cmdlet 创建一个新的 SharePoint 网站。


#Lets create a new Site collection:
New-SPOSite -Url https://salaudeen.sharepoint.com/sites/Sales `
   -Owner salaudeen@salaudeen.onmicrosoft.com -StorageQuota 1000 -Title "Sales Site" 

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

完成后,您可以使用“Disconnect-SPOService”断开 PowerShell 会话。然而,这不是强制性的。一般来说,除非您与不同的租户合作,否则最好保持连接处于打开状态。

我是否需要全局管理员权限才能运行 SharePoint Online 的 PowerShell Cmdlet?
您需要 SharePoint Online 管理员或全局管理员权限才能运行这些 PowerShell 脚本。但是,要在站点级别运行 CSOM 或 PnP PowerShell 脚本,您只需要站点集管理员权限。

使用 PowerShell ISE 在 SharePoint Online 中创建组:
如何运行 SharePoint Online 的 PowerShell 脚本?您可以使用 PowerShell ISE 运行 SharePoint Online 的 PowerShell 脚本。让我们通过以下命令使用 PowerShell for SharePoint Online 创建一个组。


#sharepoint online powershell create group:
Import-Module Microsoft.Online.SharePoint.Powershell -DisableNameChecking

#connect to sharepoint online site collection using powershell
Connect-SPOService -Url https://salaudeen-admin.sharepoint.com `
      -credential salaudeen@salaudeen.onmicrosoft.com

#create group
New-SPOSiteGroup -Site https://salaudeen.sharepoint.com/sites/Sales  `
            -Group "Sales Managers" -PermissionLevels "Full Control" 

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

通过 PowerShell 连接到 SharePoint Online 的更通用代码将使用以下 cmdlet:


#Import SharePoint Online PowerShell module
Import-Module Microsoft.Online.Sharepoint.PowerShell -DisableNameChecking

#SharePoint Admin Center URL - Set it accordingly
$AdminSiteURL= "https://crescent-admin.sharepoint.com"

#Get credentials to connect
$Credential = Get-Credential

#Connect to SharePoint Online services
Connect-SPOService -url $AdminSiteURL -Credential $credential

#Get Tenant settings
Get-SPOTenant

如果您不想收到凭据提示怎么办?例如,将凭据保存在脚本中并在 Windows 任务计划程序中安排它们。以下是如何使用用户 ID 和密码从 PowerShell 连接到 SharePoint Online:


#Variables for processing
$AdminCenterURL = "https://crescent-admin.sharepoint.com"

#User Name Password to connect 
$AdminUserName = "Salaudeen@crescent.com"
$AdminPassword = "Password goes here"

#Prepare the Credentials
$SecurePassword = ConvertTo-SecureString $AdminPassword -AsPlainText -Force
$Credential = new-object -typename System.Management.Automation.PSCredential -argumentlist $AdminUserName, $SecurePassword
 
#Connect to SharePoint Online
Connect-SPOService -url $AdminCenterURL -Credential $Credential
 
#Get all Site colections with SharePoint PowerShell
Get-SPOSite

所有这些方法也适用于 OneDrive for Business,以从 PowerShell 进行连接。没有可用于 OneDrive 的单独 PowerShell 模块。

将 SharePoint Online PowerShell 与 MFA(多重身份验证)连接

如何从 PowerShell 连接到具有启用 MFA 的帐户的 SharePoint Online?要连接启用了多因素身份验证的 SharePoint Online,只需从“Connect-SPOService”cmdlet 中删除 -Credential 参数即可。


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

按 Enter 键,您将看到一个弹出窗口(MFA 感知),用于输入多因素身份验证的凭据和代码。要了解有关使用启用 MFA 的帐户连接到 SharePoint Online 的更多信息,请参阅我的另一篇文章:PowerShell:使用 MFA 连接到 SharePoint Online

SharePoint Online 的 PowerShell 命令 - SharePoint Online PowerShell cmdlet 索引:

有关 SharePoint Online 可用 cmdlet 的列表,请参阅 https://technet.microsoft.com/en-us/library/fp161364.aspx 上的 SharePoint Online PowerShell cmdlet。您还可以使用此 cmdlet 列出 SharePoint Online PowerShell cmdlet:


Get-Command -Module Microsoft.Online.SharePoint.PowerShell

[玩转系统] 如何从 PowerShell 连接到 SharePoint Online?

这列出了所有可用的 Sharepoint Online PowerShell 命令。您可能已经注意到所有 cmdlet 都遵循以下模式:-SPO。例如,Add-SPOUser。

限制:与本地 SharePoint 不同,SharePoint Online 仅提供最少的一组 PowerShell cmdlet 来管理 SharePoint Online。例如,没有直接的 PowerShell cmdlet 来激活功能、创建子网站、创建列表、添加列表项、从 SharePoint 列表获取数据、从 SharePoint 下载文件等。解决方案将利用客户端对象模型(CSOM) 组件与 PowerShell!如何使用 CSOM PowerShell 连接到 SharePoint Online?

客户端对象模型 (CSOM) 是 SharePoint Online Management Shell 的子集!

PnP PowerShell cmdlet

SharePoint 模式和实践 (PnP) 是一个跨平台 PowerShell 模块,包含 PowerShell cmdlet 库,允许您在 Microsoft 365 产品(例如 SharePoint Online、Microsoft Teams、Microsoft Planner、Power Automate 等)中执行复杂的操作一个 cmdlet。若要使用 PnP PowerShell 模块连接到 SharePoint Online,请参阅如何使用 PnP PowerShell 连接到 SharePoint Online?

经常问的问题:

如何使用 PowerShell 在 SharePoint Online 中创建新网站集?

若要在 SharePoint Online 中创建新式团队网站集,请使用 New-SPOSite PowerShell cmdlet。
New-SPOSite -Url“Site-URL”-Owner“User-ID”-StorageQuota 2048 -Title“Site-Title”-模板“STS#3”
详细信息:PowerShell 在 SharePoint Online 中创建现代网站集

如何在 SharePoint Online 中运行 PowerShell 脚本?

您只需右键单击 .ps1 文件并从 Windows 文件资源管理器中选择“使用 PowerShell 运行”即可运行 PowerShell 脚本!您还可以使用 PowerShell ISE 创建、调试和执行 SharePoint 的 PowerShell 脚本。
详细信息:如何在 SharePoint 中执行 PowerShell 脚本?

如何从 PowerShell 连接到具有启用 MFA 的帐户的 SharePoint Online?

只需运行 cmdlet“Connect-SPOService”,不带任何“Credentials”参数即可。这将引导您进入启用 MFA 的登录弹出窗口,以进行现代身份验证。详细信息:使用 MFA 从 PowerShell 连接到 SharePoint Online

如何在 PowerShell 中从 SharePoint Online 列表获取项目?

您可以使用 CSOM 或 PnP PowerShell 方法从 SharePoint Online 列表中获取项目。例如,“Get-PnPListItem -List ‘List-Name’”
更多信息:从 PowerShell 中的 SharePoint 列表获取项目列表

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

取消回复欢迎 发表评论:

关灯