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

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

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

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


大多数管理员依靠 PowerShell 来管理和审核其 Office 365 组织。作为管理员,您可能听说过 Microsoft 将在 2022 年 10 月之前弃用 Exchange Online 中的基本身份验证(从 2020 年 10 月 13 日推迟)。

那么,如何在没有基本身份验证的情况下轻松连接到 Exchange Online PowerShell?这很简单!!通过使用现代身份验证。现在我可以听到您的疑问:如何使用现代身份验证快速连接到 Exchange Online PowerShell?不用担心!我有一个解决方案。你会因为我要与你分享的东西而永远爱我!

  1. 您是否曾想使用单个 cmdlet 将 Exchange Online 与 MFA 和非 MFA 帐户连接?
  2. 您是否正在尝试寻找一种无需基本身份验证即可连接 Exchange Online PowerShell 的替代方法?
  3. 您是否曾经想从 PowerShell 库安装 Exchange Online PowerShell 模块?
  4. 您的脚本是否需要数小时才能完成?或者由于会话过期/断开连接而导致数据检索中断?

您的所有问题只有一个答案:使用 Exchange Online PowerShell V3 模块

使用 Exchange Online PowerShell V3 模块的优势:

  • EXO V3 模块使用现代身份验证。即,您可以使用现代身份验证连接到 Exchange Online PowerShell。
  • 您可以PowerShell 库轻松下载EXO V3 模块。
  • 单个 cmdlet“Connect-ExchangeOnline”可让您使用 MFA 和非 MFA 帐户连接到 Exchange Online PowerShell。
  • 不需要启用 WinRM 基本身份验证
  • 帮助使用 MFA 自动执行 EXO PowerShell 登录。即无人值守脚本
  • 包含基于REST API的 cmdlet。
  • 提供针对批量数据检索进行优化的专有 cmdlet。

安装 Exchange Online PowerShell V3 模块:

Exchange Online PowerShell V3 模块使您能够使用新式身份验证连接 Exchange Online PowerShell。要安装 EXO V3 模块,请运行以下 PowerShell 脚本,该脚本将确定系统是否已安装 V3 模块。如果不存在,脚本将安装 EXO V3 模块。

#Check for EXO v3 module installation
$Module = | (Get-Module ExchangeOnlineManagement -ListAvailable) | where {$_.Version.major -ge 3}
if($Module.count -eq 0)
{
Write-Host Exchange Online PowerShell V3 module is not available -ForegroundColor yellow
$Confirm= Read-Host Are you sure you want to install module? [Y] Yes [N] No
if($Confirm -match "[yY]")
{
Write-host "Installing Exchange Online PowerShell module"
Install-Module ExchangeOnlineManagement -Repository PSGallery -AllowClobber -Force
Import-Module ExchangeOnlineManagement
}
else
{
Write-Host EXO V3 module is required to connect Exchange Online. Please install module using Install-Module ExchangeOnlineManagement cmdlet.
Exit
}
}

Write-Host Connecting to Exchange Online...
Connect-ExchangeOnline

注意:为了简化 Exchange Online PowerShell 的安装和连接,我们在底部记录了 Connect-ExchangeOnline 故障排除提示。

使用现代身份验证连接到 Exchange Online PowerShell:

Connect-ExchangeOnline cmdlet 允许您无需基本身份验证即可连接 Exchange Online PowerShell。您可以使用 MFA 和非 MFA 帐户的 Connect-ExchangeOnline cmdlet 来连接 Exchange Online PowerShell。

运行以下 cmdlet 以使用/不使用 MFA 连接 Exchange Online PowerShell

Connect-ExchangeOnline

它将提示输入用户名和密码。输入凭据后,如果您没有收到任何错误,则表示您已成功连接到 Exchange Online。是的!您已在没有基本身份验证的情况下连接到 Exchange Online PowerShell!

连接成功的屏幕类似于下面的屏幕截图。

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

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

Connect-ExchangeOnline 的其他用例:

1.在Connect-ExchangeOnline中传递凭据:

如果您使用非 MFA 帐户连接 Exchange Online PowerShell,则可以在 Connect-ExchangeOnline cmdlet 中传递凭据。这可以通过运行以下 cmdlet 来实现。

$Credential=Get-Credential
Connect-ExchangeOnline -Credential $Credential

2.在Connect-ExchangeOnline中传递用户名

如果您使用多重身份验证连接 Exchange Online PowerShell,则无法传递凭据,因为它需要验证码。不过,您仍然可以在 Connect-ExchangeOnline cmdlet 中传递您的用户名。

Connect-ExchangeOnline -UserPrincipalName <UPN>

注意:要断开 Exchange Online PowerShell 会话,您可以使用 Disconnect-ExchangeOnline ,它相当于 Get-PSSession |删除-PSSession。

更新 EXO V2 模块:

如果您的计算机上已安装 EXO V2 模块,您可以使用 Update-Module cmdlet 进行升级。

要检查当前安装的模块的版本,请运行以下命令。

Import-Module ExchangeOnlineManagement; Get-Module ExchangeOnlineManagement

将 EXO V2 模块更新到 PowerShell 库中提供的最新版本。

Update-Module -Name ExchangeOnlineManagement

如何在无人值守脚本中使用 EXO V3 模块?

您可以创建非交互式脚本来执行 Exchange Online 管理任务。它需要 Azure AD 应用程序、证书和现代身份验证。要了解更多详细信息,您可以查看我们关于使用 MFA 帐户无人值守访问 Exchange Online 的专用博客。

ExchangeOnlineManagement:故障排除提示

1. PowerShell获取版本:

为了安装 Exchange Online PowerShell V2 模块,PowerShellGet 版本必须为 2.0 或更高版本。否则您将收到以下错误消息。

警告:当前版本的 PowerShellGet 不支持 PowerShellGetFormatVersion“2.0”的指定模块“ExchangeOnlineManagement”。获取最新版本的 PowerShellGet 模块来安装此模块“ExchangeOnlineManagement”。

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

解决方案:要安装或更新 PowerShellGet 最新版本,请运行以下 cmdlet。

Install-Module PowerShellGet -Force

2.设置执行策略:

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

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

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

解决方案: 要解决此错误,您需要运行以下 cmdlet。

Set-ExecutionPolicy RemoteSigned

3.使用启用了 MFA 的帐户连接 ExchangeOnline:

当您使用Get-Credential传递启用了 MFA 的帐户的凭据时,您将收到以下错误(因为Get-Credential)cmdlet 不支持启用了 MFA 的帐户)。

New-ExoPSSession:AADSTS50076:由于管理员进行了配置更改,或者由于您移动到了新位置,您必须使用多重身份验证才能访问。

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

解决方案:要使用启用了 MFA 的帐户Connect-ExchangeOnline,请运行以下 cmdlet。它将提示输入凭据和验证码。

Connect-ExchangeOnline

4. “Connect-ExchangeOnline”未被识别为 cmdlet 的名称:

为了运行Connect-ExchangeOnline cmdlet,您必须安装 Exchange Online PowerShell V3 模块。否则,您将在连接过程中收到错误消息。

Connect-ExchangeOnline :术语“Connect-ExchangeOnline”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

Connect-ExchangeOnline:术语“Connect-ExchangeOnline”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

解决方案: 安装 EXO V3 模块。

5.在PowerShell脚本中使用EXO V2模块:

如果您在 PowerShell 脚本中同时使用 Connect-ExchangeOnline 和 Connect-MsolService,您可能会遇到以下问题。

Get-EXOMailbox:无法静默获取令牌,因为在缓存中未找到令牌。调用AcquireToken方法。

出现此问题的原因是加载 EXO V2 模块后加载 Azure MsOnline 模块。我希望微软能够尽快解决这个问题。

[玩转系统] 无需基本身份验证即可连接到 Exchange Online PowerShell

解决方案:作为解决方法,您可以在连接到 Connect-MsolService 后连接到 EXO V2 模块。

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

ExchangeOnlineManagement 模块是 PowerShell 库的一个有价值的补充。它可以帮助管理员使用单个 cmdlet 连接 Exchange Online PowerShell(MFA 和非 MFA 帐户)。使用带有基本身份验证的 New-PSSession 即将被弃用,您可以开始使用 EXO V3 模块。快乐的脚本编写!

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

取消回复欢迎 发表评论:

关灯