在单个 PowerShell 窗口中连接所有 Microsoft 365 服务

使用 PowerShell 管理 Microsoft 365 时,可以同时打开多个 PowerShell 会话。 你可能有不同的 PowerShell 窗口来管理用户帐户、SharePoint Online、Exchange Online、Microsoft Teams、Microsoft Defender for Office 365 功能(安全性)和 Microsoft Purview 合规性功能。

这不是用于管理 Microsoft 365 的最佳方案,因为你不能在这些窗口间交换数据,因此无法实现跨服务管理。 本文介绍如何使用 PowerShell 的单个实例来管理 Microsoft 365 帐户、Exchange Online、SharePoint Online、Microsoft Teams 以及 Defender for Office 365 Microsoft Purview 合规性中的功能。

注意

本文目前只包含连接到全球 (+GCC) 云的命令。 “备注”中提供了有关连接到其他 Microsoft 365 云的文章链接。

准备工作

在可以从 PowerShell 的单个实例管理所有 Microsoft 365 之前,请考虑以下先决条件:

  • 你使用的 Microsoft 365 工作或学校帐户必须是 Microsoft 365 管理员角色的成员。 有关详细信息,请参阅关于管理员角色。 这是对 PowerShell for Microsoft 365 的要求,但不一定适用于所有其他 Microsoft 365 服务。

  • 可以使用以下 64 位版本的 Windows:

    • Windows 11

    • Windows 10

    • Windows 8.1 或 Windows 8

    • Windows Server 2019

    • Windows Server 2016

    • Windows Server 2012 R2 或 Windows Server 2012

    • Windows 7 Service Pack 1 (SP1)*

    • Windows Server 2008 R2 SP1*

      * 需要安装 Microsoft .NET Framework 4.5。x,然后Windows Management Framework 3.0 或 4.0。 有关详细信息,请参阅 Windows Management Framework

  • 需要安装Microsoft Entra ID、Exchange Online、Defender for Office 365、Microsoft Purview 合规性、SharePoint Online 和 Teams 所需的模块:

  • 必须将 PowerShell 配置为运行 Exchange Online、Defender for Office 365 和 Microsoft Purview 合规性的已签名脚本。 在提升的 PowerShell 会话(以管理员身份运行的 PowerShell 会话)中运行以下命令。

    Set-ExecutionPolicy RemoteSigned
    

连接步骤

按照以下步骤在单个 PowerShell 窗口中连接到所有服务。

  1. 打开 Windows PowerShell。

  2. 运行以下命令并输入你的 Microsoft 365 工作或学校帐户凭据。

    $credential = Get-Credential
    
  3. 运行此命令,使用 Microsoft Graph PowerShell SDK 连接到 Microsoft Entra ID。

    注意

    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。

    Microsoft Graph 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 Graph

    若要连接到 Microsoft 365 组织,请使用示例权限范围运行以下命令:

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

    命令会提示你转到网页以使用凭据登录。 完成此操作后,命令指示成功并显示 “欢迎使用 Microsoft Graph!” 消息。 每个会话只需登录一次。 目前不支持将 Connect-MgGraph 凭据传递到 cmdlet。

    提示

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

  4. 运行以下命令以连接到 SharePoint Online。 指定域的组织名称。 例如,对于“litwareinc.onmicrosoft.com”,组织名称值为“litwareinc”。

    $orgName="<for example, litwareinc for litwareinc.onmicrosoft.com>"
    Import-Module Microsoft.Online.SharePoint.PowerShell -DisableNameChecking
    Connect-SPOService -Url https://$orgName-admin.sharepoint.com -Credential $Credential
    
  5. 运行以下命令以连接到 Exchange Online。

    Import-Module ExchangeOnlineManagement
    Connect-ExchangeOnline -ShowProgress $true
    

    注意

    若要连接到除全球云以外的其他 Microsoft 365 云的 Exchange Online,请参阅连接到 Exchange Online PowerShell

  6. 运行这些命令以连接到安全性和符合性 PowerShell。

    $acctName="<UPN of the account, such as belindan@litwareinc.onmicrosoft.com>"
    Connect-IPPSSession -UserPrincipalName $acctName
    

    注意

    若要连接到安全性和符合性 PowerShell 以 Microsoft 365 全球以外的云,请参阅 连接到安全性和符合性 PowerShell

  7. 运行以下命令以连接到 Teams PowerShell。

    Import-Module MicrosoftTeams
    $credential = Get-Credential
    Connect-MicrosoftTeams -Credential $credential
    

    注意

    Skype for Business Online 连接器目前是最新 Teams PowerShell 模块的一部分。 如果你使用的是最新 Teams PowerShell 公共版本,则无需安装 Skype for Business Online 连接器。

    若要连接到除全球云以外的其他 Microsoft Teams 云,请参阅 Connect-MicrosoftTeams

关闭 PowerShell 窗口

若要关闭 PowerShell 窗口,请运行以下命令以删除 SharePoint Online、Teams、Defender for Office 365 和 Microsoft Purview 合规性的活动会话:

Disconnect-SPOService; Disconnect-MicrosoftTeams; Disconnect-ExchangeOnline

另请参阅