使用 Microsoft Graph PowerShell 连接到 Microsoft 365

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

Microsoft Graph PowerShell 使你能够从命令行管理 Microsoft 365 设置。 本文介绍如何安装所需的软件,然后使用 Microsoft Graph PowerShell SDK 连接到 Microsoft 365 组织。

目前,Azure Active Directory PowerShell for Graph 模块不会完全取代用于应用程序代理管理、用户和联系人管理的 Windows PowerShell Microsoft Azure Active Directory 模块的功能。 在某些情况下,需要同时使用两种版本。 可以在同一计算机上安全地安装两种版本。

开始前,需要知道什么?

注意

Azure Active Directory (AzureAD) PowerShell 模块即将弃用,并替换为 Microsoft Graph PowerShell SDK。 可以使用 Microsoft Graph PowerShell SDK 访问所有 Microsoft Graph API。 有关详细信息,请参阅 Microsoft Graph PowerShell SDK 入门

另请参阅 安装 Microsoft Graph PowerShell SDK从 Azure AD PowerShell 升级到 Microsoft Graph PowerShell ,了解如何分别安装和升级到 Microsoft Graph PowerShell。

先决条件

PowerShell 7 及更高版本是建议在所有平台上与 Microsoft Graph PowerShell SDK 一起使用的 PowerShell 版本。 将 SDK 与 PowerShell 7 或更高版本配合使用没有其他先决条件。

将 Microsoft Graph PowerShell SDK 与 Windows PowerShell 配合使用需要满足以下先决条件。

  • 升级到 PowerShell 5.1 或更高版本
  • 安装 .NET Framework 4.7.2 或更高版本
  • 使用 Install-Module PowerShellGet 将 PowerShellGet 更新到最新版本

PowerShell 脚本执行策略必须设置为远程签名或限制性较低。 使用 Get-ExecutionPolicy 确定当前执行策略。 有关更多信息,请参阅 about_Execution_Policies。 若要设置执行策略,请运行:

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser
操作系统

必须使用 64 位版 Windows。 可以使用下列 Windows 版本:

  • Windows 11、Windows 10、Windows 8.1、Windows 8 或 Windows 7 Service Pack 1 (SP1)

  • Windows Server 2019、Windows Server 2016、Windows Server 2012 R2、Windows Server 2012 或 Windows Server 2008 R2 SP1

注意

对于 Windows 8.1、Windows 8、Windows 7 Service Pack 1 (SP1)、Windows Server 2012 R2、Windows Server 2012 和 Windows Server 2008 R2 SP1,请下载并安装 Windows Management Framework 5.1

若要使用 Microsoft Graph PowerShell,必须至少使用 PowerShell 版本 5.1

注意

这些步骤适合于属于 Microsoft 365 管理员角色成员的用户。 有关详细信息,请参阅关于管理员角色

使用 Microsoft Graph PowerShell 进行连接

在本部分中,你将了解如何使用 Microsoft Graph PowerShell SDK 连接到 Microsoft 365 组织。 有关更多指导 ,请访问安装 Microsoft Graph PowerShell SDK

步骤 1:安装所需软件

Microsoft Graph PowerShell SDK 在 PowerShell 库中发布。

这些步骤只需在计算机上执行一次。 但是,可能需要定期更新软件。

安装 Microsoft Graph PowerShell SDK 和 beta 模块

Microsoft Graph PowerShell SDK 提供两个模块:Microsoft.Graph 和 Microsoft.Graph.Beta,你将单独安装这些模块。 这些模块分别调用 Microsoft Graph v1.0 和 Microsoft Graph beta 终结点。 可以在同一 PowerShell 版本上安装这两个模块。

  1. 打开Windows PowerShell命令提示符窗口。 根据登录帐户的权限,可能需要在管理员模式下打开 PowerShell 窗口。

  2. 若要在 PowerShell Core 或 Windows PowerShell 中安装 SDK 的 v1 模块,请运行以下命令:

    Install-Module Microsoft.Graph -Scope CurrentUser
    
  3. 运行以下命令以安装 beta 模块:

    Install-Module Microsoft.Graph.Beta
    

安装完成后,可以使用以下命令验证已安装的版本:

Get-InstalledModule Microsoft.Graph

步骤 2:连接到 Microsoft 365 订阅

PowerShell SDK 支持两种类型的身份验证:委派访问和仅应用访问。 在本指南中,你将使用委派访问权限以用户身份登录,授予 SDK 代表你执行操作的许可,并调用 Microsoft Graph。

有关对无人参与方案使用仅限应用访问的详细信息,请参阅 将仅限应用的身份验证与 Microsoft Graph PowerShell SDK 配合使用

确定所需的权限范围

Microsoft Graph 中的每个 API 都受一个或多个权限范围的保护。 登录的用户必须同意你计划使用的 API 所需的范围之一。 在此示例中,我们将使用以下 API。

  • 列出用户以查找已登录用户的用户 ID。
  • 列出 joinedTeams 以获取用户所属的 Teams。
  • 列出频道以获取团队中的频道。
  • 发送消息以将消息发送到团队的频道。

User.Read.All 权限范围启用前两个调用,Group.ReadWrite.All 范围启用其余调用。 这些权限需要管理员帐户。

有关如何确定所需的权限范围的详细信息,请参阅 使用 Find-MgGraphCommand

若要连接到 Microsoft 365 组织,请运行以下命令:

Connect-MgGraph -Scopes "User.Read.All","Group.ReadWrite.All"

命令会提示你转到网页以使用凭据登录。 完成此操作后,命令指示成功并显示 “欢迎使用 Microsoft Graph!” 消息。 每个会话只需登录一次。

提示

可以通过使用新的权限范围重复 Connect-MgGraph 命令来增加权限。

另请参阅