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

[玩转系统] 删除 Exchange 服务器

作者:精品下载站 日期:2024-12-14 20:57:40 浏览:16 分类:玩电脑

删除 Exchange 服务器


[玩转系统] 删除 Exchange 服务器

将所有邮箱迁移到 Office 365 后,您可能需要删除最后一个本地 Exchange Server。

本地 Exchange 需要大量的硬件资源,即使它仅用于管理 AD 邮件属性。

此外,它还是 Hafnium 等零日攻击的一个非常受欢迎的目标。

这是一个备受争议的话题,许多管理员最终都被他们的本地 Exchange Server 困住了。不要成为那些人中的一员!

本指南假设您拥有 Active Directory 到 Azure/Office 365 同步的混合设置。

删除本地 Exchange Server 的先决条件

要验证您是否已准备好删除最后一个 Exchange Server,请确保完成以下五项任务:

  1. 制定有关删除 Exchange Server 后如何管理邮件属性的计划。
  2. 验证您是否已将所有邮箱迁移到 Office 365。
  3. 确认您没有任何公用文件夹。
  4. 确认没有应用程序或扫描到电子邮件设备正在使用您的本地 Exchange Server。
  5. 验证您的入站和出站邮件流不涉及您的本地 Exchange Server。

准确地完成所有任务,以避免以后出现问题。

您将在以下部分中找到有关这些步骤的更多详细信息。

1. 制定删除 Exchange 服务器后如何管理邮件属性的计划

这是与删除本地 Exchange Server 相关的最令人头痛的问题之一。

许多邮箱属性都权威地存储在本地 Active Directory 中。这些包括:

  • 电子邮件地址、别名、从地址列表中隐藏等(对于用户邮箱)。
  • 所有者、允许外部发件人、代表发送权限等(对于通讯组)。

不幸的是,AD 管理工具“AD 用户和计算机”不支持管理这些属性——原始编辑除外。

为了轻松管理您的用户和群组邮件属性,请使用 Easy365Manager。

Easy365Manager 是 AD 用户和计算机的管理单元,允许您管理 AD 邮件属性以及 Office 365 许可证和邮箱。

安装 Easy365Manager 后,您将在用户属性中看到两个新选项卡:

[玩转系统] 删除 Exchange 服务器

[玩转系统] 删除 Exchange 服务器

使用 Easy365Manager,您的一级支持者不再需要登录 Microsoft 365 管理中心、Exchange Online 管理中心,或使用 PowerShell 执行 Azure AD Connect 同步等日常管理。

Easy365Manager 可以为您节省大量的工作时间、减少挫败感以及搜索 PowerShell 命令。

例如,您甚至可以管理日历委托,否则需要半复杂的 PowerShell 脚本:

2. 验证您是否已将所有邮箱迁移到 Office 365

登录到本地 Exchange Server 并启动 Exchange 命令行管理程序。

运行以下命令检查本地 Exchange Server 上是否还有邮箱:

Get-Mailbox | ft

如果您的本地 Exchange Server 上有任何邮箱,您必须将它们迁移到 Office 365 或将其删除。

3.确认您没有任何公共文件夹

登录到本地 Exchange Server 并启动 Exchange 命令行管理程序。

运行以下命令检查本地 Exchange Server 上是否还有公用文件夹:

Get-PublicFolder | ft

如果发现任何内容,请务必迁移或删除它们。

4. 确认没有应用程序或扫描到电子邮件设备正在使用您的本地 Exchange 服务器

如果任何设备或应用程序通过本地 Exchange Server 发送电子邮件,您需要重新配置它们以使用 Office 365。

如果您的环境较小,您可以手动浏览您的应用程序和多功能办公设备。

在较大的环境中,您应该在 Exchange Server 上启用 SMTP 日志记录,让它运行几天,然后扫描日志文件。

要在 Exchange Server 上启用日志记录,请从 Exchange 命令行管理程序运行以下命令:

Get-ReceiveConnector |  Set-ReceiveConnector -ProtocolLogging Verbose

几天或一周后,您可以扫描日志文件以查找已连接到 Exchange Server 的所有 IP。

从 Exchange 命令行管理程序运行以下脚本。它将检查不超过一周的日志文件:

$Clients = @{}
$ClientList = @()
$LogPaths = Get-FrontendTransportService | Select-Object ReceiveProtocolLogPath
ForEach ($LogPath In $LogPaths) {
  $LogFiles = Get-Item ($LogPath.ReceiveProtocolLogPath.PathName + "\*.log") | ? { $_.LastWriteTime -gt (Get-Date).AddDays(-7) }
  ForEach ($LogFile In $LogFiles) {
    $Lines = Get-Content $LogFile | Select-Object -Skip 5
    ForEach ($Line In $Lines) {
      $SrcIp = ($Line.Split(",")[5]).Split(":")[0]
      $TgtPort = ($Line.Split(",")[4]).Split(":")[1]
      If (-Not ($Clients.ContainsKey($SrcIp + ":" + $TgtPort))) {
        $Client = $SrcIp + ":" + $TgtPort
        Try {
          $DNS = [System.Net.Dns]::GetHostByAddress($SrcIp).Hostname
        }
        Catch {
          $DNS = ""
        }
        $obj = New-Object PSObject -Property @{
          ClientIP   = $SrcIp
          ClientName = $DNS
          TargetPort = $TgtPort
        }
        $Clients.Add($Client, $DNS)
        $ClientList += $obj
        Write-Host $Client `t $DNS
      }
    }
  }
}
Write-Output $ClientList

输出可能类似于以下内容:

ClientName           TargetPort ClientIP
----------           ---------- --------
mymail1.company.com  25         172.16.1.223
mymail1.company.com  25         127.0.0.1
mymail1.company.com  717        172.16.1.223
                     25         172.16.20.1
mymail2.company.com  25         172.16.1.227
avserver.company.com 25         172.16.1.70
scanner2.company.com 25         172.16.1.23
mymail1.company.com  587        172.16.1.223
                     25         10.0.2.193
backend1.company.com 25         10.32.77.202
backend2.company.com 25         10.32.77.201
scanner4.company.com 25         172.16.14.30
document.company.com 25         10.32.65.238
scanner1.company.com 25         172.16.14.29

请务必仔细检查输出并重新配置列表中出现的所有设备/主机

要直接通过 Office 365 从您的设备或应用程序发送电子邮件,请按照本文中的说明进行操作。

5. 验证您的入站和出站邮件流不涉及您的本地 Exchange 服务器

在删除本地 Exchange Server 之前,您必须确保电子邮件直接发送到 Office 365 或从 Office 365 直接发送。

您可以通过分析发送到 Office 365 域和从 Office 365 域发送的电子邮件的邮件标头来验证这一点。

将电子邮件从 Office 365 邮箱发送到外部电子邮件。然后,打开外部收到的电子邮件的邮件标头并检查您的本地 Exchange Server 是否参与邮件流。

本文将逐步向您展示如何在 Outlook 中查看邮件标头并使用在线邮件标头分析器对其进行分析。

通过将电子邮件从外部发件人发送到您的 Office 365 邮箱,对入站电子邮件执行相同的操作。

如果您的本地 Exchange Server 出现在入站或出站邮件流中,则您必须更改邮件流。这可能涉及更新 DNS 中的 MX 记录以及重新配置外部第 3 方中继服务和 Office 365 连接器。

如何删除交换

无论您选择第三方解决方案还是决定冒险直接编辑原始属性,您都应该测试它的效果如何。

至少花两周时间在无服务器环境下工作(Easy365Manager 可免费、功能齐全的 30 天试用版)。

只有当您有信心在没有本地 Exchange Server 的情况下管理您的设置时,才可以继续下一部分。

当您完成先决条件中列出的所有步骤后,您就可以删除 Exchange。

删除 Exchange 包括以下四个步骤:

  1. 删除服务连接点值。
  2. 删除入站和出站连接器。
  3. 解除组织关系。
  4. 关闭 Exchange 服务器。

下面更详细地介绍了这四个步骤:

1. 删除服务连接点值

使用以下命令从本地 Exchange 中删除服务连接点值:

Get-ClientAccessService | Set-ClientAccessService -AutoDiscoverServiceInternalUri $Null

2. 删除入站和出站连接器

删除入站和出站连接器的最简单方法是通过 Exchange 本地管理中心 (EAC)。

转至连接器页面以找到连接器。 Office 365 连接器是由混合连接向导 (HCW) 创建的,将被命名为“入站自...”和“出站至...”,如下所示:

[玩转系统] 删除 Exchange 服务器

3. 解除组织关系

若要删除组织关系,请转到 Exchange Online 管理中心。

导航到组织并删除混合连接向导创建的关系。该关系的名称将类似于“O365 到本地 - …”,如下所示:

[玩转系统] 删除 Exchange 服务器

4. 关闭Exchange服务器

作为最后的清理步骤,您应该简单地关闭服务器。没有其他的。

我们强烈建议不要通过从服务器卸载 Exchange 或手动编辑 AD 配置分区来清理 Active Directory 中的 Exchange 配置。

从 AD 中删除 Exchange 配置实际上没有任何好处。但也存在很多风险。

摘要

如果您按照上述步骤操作,您应该可以顺利删除最后一个本地 Exchange Server。

此步骤将为您节省大量时间和金钱,并保护您免受专门针对本地 Exchange Server 的黑客攻击,如 2021 年 3 月的 Hafnium 攻击、2021 年 11 月的远程代码执行漏洞以及 2021 年 11 月的远程代码执行漏洞。 2022 年 9 月。

摆脱本地 Exchange Server 可以使您的公司免受下一次大规模勒索软件攻击。

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

取消回复欢迎 发表评论:

关灯