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

[玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

作者:精品下载站 日期:2024-12-14 08:24:51 浏览:16 分类:玩电脑

使用 MFA(多重身份验证)连接到 Exchange Online


如果要使用MFA连接Exchange Online PowerShell,则需要使用微软提供的特殊PowerShell工具“Exchange Online PowerShell Module”(EXO)。

2023 年 2 月更新:Exchange Online PowerShell 中的远程 PowerShell (RPS) 停用

由于 RPS 停用,您无法使用 EXO V1 和 V2 模块连接 Exchange Online PowerShell。因此管理员必须安装/更新 EXO V3 模块才能执行 Exchange 管理任务。

您可以手动安装 Exchange Online PowerShell 模块 (EXO V1),也可以使用专用脚本来安装该模块并使用 MFA 连接 Exchange Online PowerShell。让我们详细检查这两种方法。

  • 自动化方法:

    • 用于将 Exchange Online PowerShell 与 MFA 连接的 PowerShell 脚本
  • 手动方法:

    • 步骤1:安装用于MFA的Exchange Online PowerShell模块(一次性过程)
  • 步骤 2:使用启用 MFA 的帐户连接 Exchange Online PowerShell
  • 为了简化您的工作,我们在底部记录了常见的故障排除技巧。

    自动化方法:用于将 Exchange Online PowerShell 与 MFA 连接的 PowerShell 脚本

    不幸的是,使用 MFA 连接 Exchange Online PowerShell 有点棘手,因此新手可能很快就会迷失方向。不用担心!我们来这里是为了帮助管理员。我们编写了一个用户友好的 PowerShell 脚本,用于将 Exchange Online PowerShell 与 MFA 连接,该脚本执行以下操作。

    • 下载 Exchange Online 远程 PowerShell 模块
    • 安装 Exchange Online PowerShell 模块
    • 使用 MFA 连接 Exchange Online PowerShell

    下载脚本:ConnectExchangeOnlinePowerShell.ps1

    手动方法:自己设置一切

    第 1 步:安装 MFA 的 Exchange Online PowerShell 模块

    您需要做的第一件事是下载 Exchange Online 远程 PowerShell 模块。要直接下载 Exchange Online PowerShell 模块,您可以使用以下快速链接:https://cmdletpswmodule.blob.core.windows.net/exopsmodule/Microsoft.Online .CSE.PSModule.Client.application

    或者,要通过 Microsoft 下载 Exchange Online MFA 模块,请按照以下步骤操作。

    1.使用 Internet Explorer 或 Edge 登录 Exchange 管理中心。

    2.在 EAC 中,转到混合并单击配置按钮(如下图所示)下载 Exchange Online PowerShell 模块艺术硕士。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    注意:需要使用ClickOnce下载的浏览器(例如IEEdge)才能下载,否则您将无法下载安装过程中出现错误。单击 Connect-ExoPSSession 故障排除提示以获取更多故障排除提示。

    3.点击“安装”。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    步骤 2:使用 MFA 连接 Exchange Online PowerShell

    1.Connect-EXOPSSession 用于通过 MFA 连接到 Exchange Online。您无法在标准 Windows PowerShell 中使用 Connect-EXOPSSession。您需要启动 Exchange Online 远程 PowerShell 模块。当您启动 Exchange Online 远程 PowerShell 模块时,会显示有关使用情况的提示。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    2.Connect-EXOPSSession有一个参数UserPrincipalName。您可以使用 Connect-EXOPSSession,无论是否带有 UserPrincipalName。例如,

    Connect-EXOPSSession -UserPrincipalName [email protected]

    3.在登录窗口中输入密码,然后点击“登录”。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    4. 根据您账户配置的MFA生成并下发的验证码。在验证窗口中输入验证码,然后单击“登录”。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    5. 步骤 4 后,Exchange Online cmdlet 将导入到 Exchange Online 远程 PowerShell 模块会话中。如果没有收到任何错误,则表明连接成功,如下图所示。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    如果您想要使用单个 cmdlet 连接所有 Office 365 服务 PowerShell,请参阅使用 PowerShell 连接到所有 Office 365 服务(也支持 MFA)

    Connect-EXOPSSession - 故障排除提示:

    大多数人在尝试使用 Connect-EXOPSSession cmdlet 时都会遇到许多挑战。为了确保顺利安装和执行,我们在此博客中记录了常见错误及其故障排除提示。如果您想获取租户中启用了 MFA 的用户列表,可以参考导出 Office 365 用户的 MFA 状态报告。

    1.您无法使用标准 Windows PowerShell 通过 MFA 连接 Exchange Online:

    如果您使用标准 Windows PowerShell 通过启用 MFA 的帐户连接 Exchange Online,您将收到以下错误。

    新 PSSession:outlook.office365。 com 连接到远程服务器outlook.office365。 com 失败并显示以下错误消息:访问被拒绝。有关详细信息,请参阅 about_Remote_Troubleshooting 帮助主题。+ $Session=New-PSSession -ConfigurationName Microsoft.Exchange -Conne ...
    +FullyQualifiedErrorId:AccessDenied,PSSessionOpenFailed


    Import-PSSession:无法验证参数“Session”的参数。该参数为空。为参数提供有效值,然后尝试再次运行该命令。 + 导入 PSSession $Session -CommandName Get-Mailbox,Get-MailboxPermi ...
    + FullQualifiedErrorId:ParameterArgumentValidationError,Microsoft.PowerShell.Commands。导入PSSessionCommand

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    如果要将 Exchange Online PowerShell 与 MFA 连接,则需要安装“Exchange Online PowerShell 模块”(EXO)。

    2.如何在 ISE 中导入启用 MFA 的 Exchange Online Powershell 模块?

    您可以在 Windows PowerShell ISE 中导入 Exchange Online PowerShell 模块,而不是使用 Exchange Online PowerShell 控制台。要在 ISE 中成功使用 Connect-EXOPPSSession cmdlet,您需要在 ISE 中运行以下代码。

    $MFAExchangeModule = ((Get-ChildItem -Path $($env:LOCALAPPDATA+"\Apps.0\") -Filter CreateExoPSSession.ps1 -Recurse ).FullName | Select-Object -Last 1)
    . "$MFAExchangeModule"

    现在,您可以使用 PowerShell ISE 将 Exchange Online 与 MFA 连接。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    注意:在使用这些代码之前,您应该安装 Exchange Remote Online PowerShell 模块。

    3.无法安装 Exchange Online PowerShell 模块 - 无法启动应用程序:

    如果您没有使用 IE 或 Edge 下载 Exchange Online PowerShell 模块,您将在安装过程中遇到错误。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    4.在WinRM服务上启用基本身份验证:

    Windows 远程管理 (WinRM) 需要允许基本身份验证(默认情况下启用)才能创建 ExoPSSession。如果禁用基本身份验证,当您尝试连接时会收到以下错误:

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    注意:需要基本身份验证标头来传输会话的 OAuth 令牌,因为客户端 WinRM 实现不支持 OAuth。

    要检查是否启用基本身份验证,请在命令提示符下运行以下命令。

    winrm get winrm/config/client/auth

    如果未设置Basic= true,则需要运行以下命令来启用基本身份验证。

    winrm set winrm/config/client/auth @{Basic="true"}

    执行上述命令后,输出类似于下面的屏幕截图。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    注意:您还可以使用 EXO V2 模块通过现代身份验证连接 Exchange Online PowerShell。尽管 EXO V2 模块使用现代身份验证,但它仍然需要 WinRM 基本身份验证来传输现代身份验证令牌。为了提高安全性,微软最近推出了 EXO V2 Preview 模块 2.0.6。它允许管理员在没有 WinRM 基本身份验证的情况下使用 EXO V2 模块。

    5.启动WinRM服务

    为了在 WinRM 中启用基本身份验证,WinRM 服务必须处于运行状态。否则,您将收到以下错误:客户端无法连接到请求中指定的目标。验证目标上的服务正在运行并且正在接受请求。请查阅在目标(最常见的是 IIS 或 WinRM)上运行的 WS-Management 服务的日志和文档。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    要启动 WinRM 服务,请以管理员身份启动命令提示符并运行以下命令

    Winrm quickconfig

    当 cmd 提示符显示Make这些更改[y/n]?时,输入 y。

    如果配置成功,将显示 WinRM 服务已启动输出。

    6.在哪里可以找到 Exchange Online 远程 PowerShell 模块?

    您将无法使用 Get-Module cmdlet 找到 Exchange Online 远程 PowerShell 模块。当您安装 ClickOnce 应用程序时,它将安装在以下目录中。

    %UserProfile%\AppData\Local\Apps.0

    您可以使用桌面快捷方式启动 Exchange Online 远程 PowerShell 模块。

    7.断开远程PowerShell会话:

    完成后,请务必断开远程 PowerShell 会话的连接。否则,您最终会使用所有可用的远程 PowerShell 会话,并且您将收到以下错误。

    New-ExoPSSession :处理来自远程服务器 Outlook.office365 的数据。 com 失败,并显示以下错误消息: [AuthZRequestId=068a9813-8420-43f0-9f20-692228962287] [FailureCategory=AuthZ-AuthorizationException] 无法创建运行空间,因为您已超出允许的最大连接数:10

    要断开当前窗口中的所有 PowerShell 会话,您可以使用以下命令。

    Get-PSSession | Remove-PSSession

    无需基本身份验证即可连接到 Exchange Online PowerShell:

    我们都知道,Microsoft 将于 2022 年 10 月弃用 Exchange Online 中的基本身份验证。那么,在没有基本身份验证的情况下,如何连接到 Exchange Online PowerShell?

    您可以安装新的ExchangeOnlineManagement模块。我撰写了一篇专门的博客,介绍如何安装和使用 ExchangeOnlineManagement 通过现代身份验证连接到 Exchange Online PowerShell。您可以参考博客了解更多详细信息。

    使用 MFA 自动执行 Exchange Online PowerShell 登录 - 无人值守脚本:

    随着安全默认值和 MFA 强制的引入,大多数脚本在计划任务或自动化中都会被破坏。作为解决方法,大多数管理员使用条件访问来排除服务帐户的 MFA。它使组织的安全性降低。为了解决此问题,Microsoft 引入了 EXO V2 模块的新公共预览版(版本 2.0.3 或更高版本),以使用无人值守脚本连接 Exchange Online。

    使用 PowerShell 生成报告的挑战:

    大多数管理员使用 Exchange Online PowerShell 生成 Exchange 在线报告和审核 Office 365 环境。但我在使用 PowerShell 时遇到了很多挑战。例如,

    • 如果您没有正确检索审核数据,最终会导致数据丢失,从而破坏目的。
    • 如果您是新手,您可能会在寻找正确的 cmdlet 过程中迷失方向。
    • PowerShell需要花费大量精力来生成所需的报告,这非常耗时。
    • 使用 MFA 时,自动生成报告很困难。

    如果您正在寻找生成 Exchange 报告的替代方法,例如

    • 邮箱信息报告
    • 基于上次登录时间、上次活动时间、上次邮件阅读、上次邮件发送时间的非活动邮箱报告
    • 邮箱使用报告
    • 邮箱权限报告
    • 邮箱转发报告
    • 邮箱设置报告
    • 邮箱保留报告
    • 电子邮件活动报告
    • 垃圾邮件和恶意软件报告
    • 电子邮件流量和统计报告
    • 邮箱审核报告
    • 非所有者邮箱访问报告

    您可以查看AdminDroid Exchange Online 报告和审核工具。该工具提供 170 多个 Exchange Online 统计数据和审核报告以及具有视觉吸引力的仪表板。

    此外,AdminDroid 还针对各种 Office 365 服务提供1500 多个预构建报告,例如 Azure AD、Exchange Online、SharePoint Online、Microsoft Teams、OneDrive for Business、Skype for Business、Yammer、常规 Office 365 报告、和安全报告。

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    [玩转系统] 使用 MFA(多重身份验证)连接到 Exchange Online

    此外,AdminDroid 完全免费提供 100 多个报告和一些仪表板。它包括有关用户、许可证、组、组成员、设备、登录活动、密码更改、许可证更改等的报告。免费版在自定义、计划和导出等报告功能上没有任何限制。为了满足您的 Azure AD 报告和审核需求,您可以下载 AdminDroid 提供的免费 Office 365 报告工具,看看它如何为您提供帮助。

    我希望上面的帖子对您有所帮助!您有什么不同的方法在脚本中使用 MFA 吗?在评论中与其他管理员和我们分享。

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

    取消回复欢迎 发表评论:

    关灯