[玩转系统] 在 Exchange 2016 中配置 OAuth 身份验证
作者:精品下载站 日期:2024-12-14 07:06:02 浏览:15 分类:玩电脑
在 Exchange 2016 中配置 OAuth 身份验证
只要我记得混合配置向导成功完成,它就会生成有关混合配置的 OAuth 部分的错误。
HCW8064 - HCW 已完成,但无法执行混合配置的 OAuth 部分。如果您需要依赖于 OAuth 的功能,您可以尝试再次运行 HCW 或使用这些手动步骤手动配置 OAuth。
了解更多选项重定向到 Microsoft 页面配置 Exchange 和 Exchange Online 组织之间的 OAuth 身份验证。我在这篇博文中使用了该文章的 PowerShell 命令。
OAuth 用于代表用户跨界登录其他服务。因此,如果您登录到某些 Microsoft 服务,则该服务可以使用 OAuth 访问本地 Exchange 中的服务,反之亦然。
这些跨界服务的示例包括:
- 消息记录管理 (MRM)。
- 交换就地电子取证。
- 交换就地存档。
- 团队日历。
HCW 可以配置 Azure Active Directory 进行 OAuth 身份验证,可以创建 IntraOrganizationConnectors,但无法在 Exchange 服务器上导出和导入(自签名)证书,也不能(或确实)在 Active 中创建授权服务器对象目录。因此,是时候进行测试了,以 Microsoft 文章为指导并写下我的经验。
注意。这仅适用于 Exchange 2013 及更高版本,我一直在 Exchange 2016 和 Exchange 2019 的混合环境中进行此工作。
在 Office 365 和 Exchange Online 之间配置 OAuth 涉及多个步骤。
在本地 Exchange 中创建授权服务器对象
要在本地环境中创建授权服务器对象,请在 Exchange 命令行管理程序中输入以下命令。
New-AuthServer -Name "WindowsAzureACS" -AuthMetadataUrl "https://accounts.accesscontrol.windows.net/contoso.com/metadata/json/1"
New-AuthServer -Name "evoSTS" -Type AzureAD -AuthMetadataUrl https://login.windows.net/contoso.com/federationmetadata/2007-06/federationmetadata.xml
您已验证的域 contoso.com(在命令中)应类似于 Exchangelabs.nl,而不是 Microsoft 文章中概述的 。
启用合作伙伴应用程序以与 Exchange Online 一起使用
合作伙伴应用程序是在上一步(第一个命令)中创建的,应该启用它。在 Exchange 命令行管理程序(本地)中使用以下命令执行此操作:
Get-PartnerApplication | ?{$_.ApplicationIdentifier -eq "00000002-0000-0ff1-ce00-000000000000" -and $_.Realm -eq ""} | Set-PartnerApplication -Enabled $true
导出Exchange授权证书
跨界身份验证使用证书,因此需要将本地证书导出到 Azure Active Directory。如果您想知道在 Exchange 命令行管理程序中运行 Get-ExchangeCertificate 命令时 CN=Microsoft Exchange Server Auth Certificate 证书来自何处,请参阅这里。
使用以下 PowerShell 命令并将它们存储在名为 ExportAuthCert.ps1 或其他内容的 PowerShell 脚本中并运行它。这应该将 OAuth 证书导出到名为 OAuthCert.cer 的文件。
$ThumbPrint = (Get-AuthConfig).CurrentCertificateThumbprint
If((Test-Path $ENV:SYSTEMDRIVE\OAuthConfig) -eq $false)
{
md $ENV:SYSTEMDRIVE\OAuthConfig
}
CD $ENV:SYSTEMDRIVE\OAuthConfig
$oAuthCert = (dir Cert:\LocalMachine\My) | ?{$_.ThumbPrint -Match $ThumbPrint}
$CertType = [System.Security.Cryptography.X509Certificates.X509ContentType]::Cert
$CertBytes = $oAuthCert.Export($CertType)
$CertFile = "$env:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer"
[System.IO.File]::WriteAllBytes($CertFile, $CertBytes)
注意。 Export-ExchangeCertificate 命令在这种情况下不起作用,因为自签名证书不可导出。
将 Exchange 授权证书导入到 Azure AD
下一步是将 OAuthCert.cer 证书导入到 Azure AD。连接到 Microsoft Online 服务(Connect-MSOLService,如果您没有安装此服务,可以使用 Install-Module MSOnline 命令)并在连接后运行以下命令:
$Cred = Get-Credential
Connect-MSOLService -Credential $Cred
$CertFile = "$ENV:SYSTEMDRIVE\OAuthConfig\OAuthCert.cer"
$objFSO = New-Object -ComObject Scripting.FileSystemObject
$CertFile = $objFSO.GetAbsolutePathName($CertFile)
$CER = New-Object System.Security.Cryptography.X509Certificates.X509Certificate
$CER.Import($CertFile)
$binCert = $cer.GetRawCertData()
$CredValue = [System.Convert]::ToBase64String($binCert)
$ServiceName = "00000002-0000-0ff1-ce00-000000000000"
$P = Get-MsolServicePrincipal -ServicePrincipalName $ServiceName
New-MsolServicePrincipalCredential -AppPrincipalId $P.AppPrincipalId -Type asymmetric -Usage Verify -Value $credValue
这会将自签名证书从 Exchange 服务器导入到 Azure AD,以便可用于相互身份验证。
我没有在 Exchange 服务器上运行上述命令,而是在 Azure AD Connect 服务器上运行,因为 MSOL 模块已加载到该服务器上。为了导入证书文件,我必须使用以下命令访问证书文件(而不是 $ENV:System 变量):
$CertFile = "\AMS-EXCH01\C$\OAuthConfig\OAuthCert.cer"
在 Azure Active Directory 中注册端点
最后一步是将本地 Exchange 环境的端点注册到 Azure Active Directory 中。您可以使用以下命令来注册端点:
$ServiceName = "00000002-0000-0ff1-ce00-000000000000";
$x = Get-MsolServicePrincipal -AppPrincipalId $ServiceName;
$x.ServicePrincipalnames.Add("https://webmail.exchangeserver.com/");
$x.ServicePrincipalnames.Add("https://autodiscover.exchangeserver.com/");
Set-MSOLServicePrincipal -AppPrincipalId $ServiceName -ServicePrincipalNames $x.ServicePrincipalNames;
您必须使用自己的 Exchange 服务器本地 FQDN(如下面的验证屏幕截图所示),而不是 webmail.exchangeserver.com 和 Autodiscover.exchangeserver.com。
您可以使用以下命令来检查配置是否正确。
Get-MsolServicePrincipal -AppPrincipalId 00000002-0000-0ff1-ce00-000000000000 | select -ExpandProperty ServicePrincipalNames
如下图所示:
注意。多年来,我曾多次担任 HCW。域已在 Azure Active Directory 中添加,但未(自动)删除。
组织内连接器和可用性地址空间
混合配置向导创建了 IntraOrganizationConnectors(在 Exchange 2016 和 Exchange Online 中)并配置了 AvailabilityAddressSpace。无需创建这些,但您必须使用 Get-IntraOrganizationConnector 和 Get-AvailabilityAddressSpace 命令检查它们)
验证 OAuth 配置
要验证 OAuth 配置,您可以使用 Test-OAuthConnectivity 命令。您必须在本地 Exchange 服务器和 Exchange Online 中执行此操作。
在本地 Exchange 服务器上使用 Exchange Online Uri 和本地邮箱:
Test-OAuthConnectivity -Service EWS -TargetUri https://outlook.office365.com/ews/exchange.asmx -Mailbox [email protected] -Verbose | Format-List
在 Exchange Online 中,将 Exchange 本地 Uri 与 Exchange Online 中的邮箱结合使用:
Test-OAuthConnectivity -Service EWS -TargetUri https://webmail.exchangeserver.com/metadata/json/1 -Mailbox [email protected] -Verbose | Format-List
输出是一个扩展列表,但最终您应该在控制台上看到 ResultType: Success 和 IsValid:True:
您现在已配置 Exchange Online 和 Exchange On-Premises 之间的 OAuth。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag