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

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

作者:精品下载站 日期:2024-12-14 08:25:31 浏览:15 分类:玩电脑

快速连接到 Exchange Online PowerShell(一步操作)


Exchange Online PowerShell Cmdlet 对我们来说总是很方便,因为 Exchange 管理中心和 Office 365 管理中心执行许多任务的能力已变得越来越弱。

许多有用的管理任务可以使用 Exchange 管理中心中不提供的 PowerShell cmdlet 来完成。此外,如果您需要对结果进行更多自定义或厌倦了手动执行重复性任务,您应该使用 PowerShell。

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

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

连接到 Exchange Online PowerShell

以下是创建与 Exchange Online 的 PowerShell 会话的简短代码。

$Credential=Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection
Import-PSSession $Session -AllowClobber

注意:上述 cmdlet 使用基本身份验证来创建 Exchange 会话。由于 Microsoft 已弃用 Exchange Online 中的基本身份验证,因此您可以使用 Exchange Online PowerShell V2 模块将 Exchange Online PowerShell 与新式身份验证连接起来。

使用 MFA 连接到 Exchange Online PowerShell:

如果管理员帐户启用了 MFA,则无法使用上述普通 cmdlet 连接到 Exchange Online。您应该使用 Connect-EXOPSSession。

Connect-EXOPSSession -UserPrincipalName <UPN>

警告:上面的cmdlet可能看起来很简单,但它需要安装微软的“Exchange Online Remote PowerShell Module”。

我们编写了一个易于使用的脚本来简化 Exchange Online 远程 PowerShell 模块的安装以及与 Exchange Online PowerShell 的连接。此外,如果您想手动执行此操作,我们也有相应的步骤。

  • 自动化方法:用于连接 Exchange Online PowerShell 的 PowerShell 脚本(也适用于 MFA)
  • 手动方法:连接到 Exchange Online PowerShell

自动化方法:用于连接 Exchange Online PowerShell 的 PowerShell 脚本(也适用于 MFA)

我们开发了二合一 PowerShell 脚本,可帮助您使用普通帐户和启用 MFA 的帐户连接到 Exchange Online PowerShell。您可以在现有脚本中使用它,也可以在未来的 Exchange Online 脚本中使用它。

下载脚本:ConnectExchangeOnlinePowerShell.ps1

第1步:下载上述脚本

第 2 步:要将 Exchange Online 与 MFA 连接,请运行以下 cmdlet

./ConnectExchangeOnlinePowerShell.ps1 -MFA

注意:如果尚未安装 Exchange Online 远程 PowerShell 模块,脚本将下载并安装(在获得确认后)该模块。您还可以手动下载并安装 Exchange Online 远程 PowerShell 模块。

要将 Exchange Online 连接到非 MFA 帐户,请运行以下 cmdlet

./ConnectExchangeOnlinePowerShell.ps1

在弹出窗口中提供凭据后,您可以从 PowerShell 访问 Exchange Online。

此脚本的用例:

1.您可以将凭证作为参数显式传递。这样,您就不需要在弹出窗口中输入凭据。当您自动化/安排 PowerShell 脚本时,这将非常有用。

./ConnectExchangeOnlinePowerShell.ps1 -UserName [email protected] -Password XXXX

如果用户名/密码有空格,则应用引号引起来。

2.要断开 PowerShell 会话,请使用 -Disconnect 参数。

./ConnectExchangeOnlinePowerShell.ps1 -Disconnect

让我们看看如何手动连接 Exchange Online PowerShell 以及解决常见错误的提示

手动方法:连接到 Exchange Online PowerShell

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

2. 运行以下命令,会提示输入Office 365用户名和密码。

$Credential=Get-Credential

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

3. 现在,我们使用 New-PSSession cmdlet 创建与 Exchange Online 的 PowerShell 会话

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Credential -Authentication Basic -AllowRedirection

4. 创建会话后,您需要将 Exchange Online cmdlet 导入当前会话,这可以通过 Import-PSSession cmdlet 来完成。

Import-PSSession $Session

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

现在,Exchange Online cmdlet 已导入到本地 Windows PowerShell 会话中,并且可以通过进度栏进行跟踪。

如果没有收到任何错误,则表明连接成功。如果连接成功,Exchange Online PowerShell 看起来类似于下面的屏幕截图。

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

要检查连接,您可以运行 Get-Mailbox cmdlet 并查看结果

这一字可以连接所有Office 365服务PowerShell(也支持MFA)!!

如果您想通过 PowerShell 连接所有 Office 365 服务,例如 AzureAD、ExchangeOnline、SharePoint Online、安全与合规中心、Skype 和 Teams,请参阅:使用 PowerShell 连接所有 Office 365 服务(支持MFA 也)

连接到 Exchange Online PowerShell - 基本故障排除提示

1.设定执行策略

Windows PowerShell 需要配置为运行脚本,但默认情况下不需要配置。在这种情况下,您将收到以下错误。

无法加载文件,因为此系统上禁用了运行脚本。提供用于签署文件的有效证书。

要解决此错误,您需要在执行任何 ps 文件之前运行以下 cmd。

Set-ExecutionPolicy RemoteSigned

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

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

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

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

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

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

解决方案:您需要安装“Exchange Online PowerShell Module”(EXO)。

3.断开远程PowerShell会话

确保完成后断开远程 PowerShell 会话。否则,您最终会使用所有可用的远程 PowerShell 会话,并且您将出现以下错误。

New-PSSession:[outlook.office365。 com] 处理来自远程服务器outlook.office365的数据。 com 失败,并显示以下错误消息:无法创建运行空间,因为您已超出允许的最大连接数:策略方为 10:MaxConcurrency。请关闭现有的运行空间并重试。

要断开当前窗口中的所有 PowerShell 会话,请运行以下命令。

Get-PSSession | Remove-PSSession

更多故障排除技巧,您可以参考 Exchange Online PowerShell-故障排除技巧

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

如前所述,Microsoft 计划今年在 Exchange Online 中弃用基本身份验证。那么,你将如何连接到 EXO?您可以使用以下方法之一通过新式身份验证连接 Exchange Online PowerShell。

  1. 使用 Exchange Online 远程 PowerShell 模块连接到 Exchange Online
  2. 使用 EXO V2 模块连接到 Exchange Online PowerShell

使用 PowerShell 生成报告的挑战

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

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

您是否曾经想过在不使用 PowerShell 的情况下管理您的 Exchange Online 环境?如果您的答案是肯定的,请尝试 AdminDroid Exchange Online 报告和审核工具。该工具提供 170 多个关于邮箱信息、邮箱使用情况、电子邮件活动、邮箱权限、邮箱审核等的报告。

此外,AdminDroid 还提供1500+ 预构建报告来管理所有 Office 365 服务,例如 Azure AD、Exchange Online、SharePoint Online、Microsoft Teams、OneDrive for Business、One Note、Stream 等,点击几下鼠标。

[玩转系统] 快速连接到 Exchange Online PowerShell(一步操作)

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

我希望这篇博客可以帮助您管理 Exchange Online 环境。如果您在 Office 365 环境中遇到任何其他挑战或需要与 Office 365 相关的任何 PowerShell 脚本,请在评论部分告诉我们。快乐编写脚本!

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

取消回复欢迎 发表评论:

关灯