Hello各位小伙伴们,失踪人口回归啦~~~这次和大家分享Exchange Server 2010升级到Exchange Server 2016的方法。正式开始前先啰嗦几句,为什么我要写这篇文章呢?一方面有客户有exchange 服务器升级的需求,另一方面,如果客户使用的21V世纪互联运营的Office 365并且邮箱要做混合部署的话,也需要把本地已有的Exchange服务器升级到2013版本或者以上。考虑到这两个方面,我打算为大家分享本地Exchange服务器升级的方法。

  1. 准备环境

服务器

Exchange Server 2010

Exchange Server 2016

域控服务器DC

在进行升级之前,我们需要对目前已有的环境作相应的配置。我们需要配置默认脱机通讯簿,创建用于将Exchange 2010升级到Exchange 2016的管理员帐户。

在域控服务器上,以管理员的身份运行Powershell,依次运行以下命令行来重置授权状态:

  • Restart-Service CertSvc
  • slmgr -rearm
  • slmgr EX2010 -rearm
  • slmgr EX2016 -rearm

切换到Exchange 2010 ,以Exchange管理员的身份登录,打开Exchange Management Shell,依次运行以下的命令行:

  • Get-OfflineAddressBook
  • Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto
  • Get-MailboxDatabase | Set-MailboxDatabase -OfflineAddressBook "Default Offline Address Book"

//这条命令将验证EX2010服务器上的每个邮箱数据库都分配了默认脱机通讯簿。 这些步骤将在安装Exchange 2016之前完成。由于我们的主题是升级EX2010到EX2016,所以我提前已经安装好了Exchange 2016。

  • Get-MailboxDatabase | Format-Table Name, Server, OfflineAddressBook -Auto

以Exchange管理员的身份登录Exchange 2016。由于此时我们处于EX2010和EX2016共存的状态,管理员帐户不处于Exchange 2016中的数据库中,因此我们必须使用特定的URL,将管理员路由到Exchange 2016管理中心。打开游览器,输入特定的URL,这里我们输入Exchange 2016登录URL https://EX2016/ecp?ExchClientVer=15登录Exchange 2016管理员中心。

在收件人(Recipients)功能下,单击新建用户邮箱,在这里我们的取名为Upgrade Admin。

点击权限(permissions),在角色组下添加我们刚刚创建的用户Upgrade Admin

创建了新的Exchange管理员账户之后,我们还需要做以下几个准备工作:

  • 为新Exchange Server 2016服务器添加和更新内部和外部URL
  • 更新Exchange Server 2010 URL
  • 为新的Exchange组织申请证书

使用Upgrade Admin登录exchange 2016,点击服务器(Server),选择EX2016,点击编辑。

指定外部主机名称框中,在这里我们统一内外部主机名称均为mail.Contoso.local,指定外部客户端登录组织的验证方式,这里我们选择NTLM,点击Save保存更改。

单击虚拟目录(virtual directories)选项卡,点击配置。输入外部客户端访问服务器使用的域名,这里我们键入mail.Contoso.local,然后单击保存,这将为所有Exchange 2016虚拟目录配置外部URL。

在工具栏上面,筛选服务器为EX2016,系统将列出和EX2016相关的所有目录。

双击owa (Default Web Site),我们发现外部URL已经被配置成为刚刚所设置的URL。

还是在EX2016的环境,我们启动Exchange Management Shell,依次运行以下命令符。

  • $HostName = "EX2016"

//根据外部URL上设置的值设置内部URL

  • Set-EcpVirtualDirectory "$HostName\ECP (Default Web Site)" -InternalUrl ((Get-EcpVirtualDirectory "$HostName\ECP (Default Web Site)").ExternalUrl)
  • Set-WebServicesVirtualDirectory "$HostName\EWS (Default Web Site)" -InternalUrl ((Get-WebServicesVirtualDirectory "$HostName\EWS (Default Web Site)").ExternalUrl)
  • Set-ActiveSyncVirtualDirectory "$HostName\Microsoft-Server-ActiveSync (Default Web Site)" -InternalUrl ((Get-ActiveSyncVirtualDirectory "$HostName\Microsoft-Server-ActiveSync (Default Web Site)").ExternalUrl)
  • Set-OabVirtualDirectory "$HostName\OAB (Default Web Site)" -InternalUrl ((Get-OabVirtualDirectory "$HostName\OAB (Default Web Site)").ExternalUrl)
  • Set-OwaVirtualDirectory "$HostName\OWA (Default Web Site)" -InternalUrl ((Get-OwaVirtualDirectory "$HostName\OWA (Default Web Site)").ExternalUrl)
  • Set-PowerShellVirtualDirectory "$HostName\PowerShell (Default Web Site)" -InternalUrl ((Get-PowerShellVirtualDirectory "$HostName\PowerShell (Default Web Site)").ExternalUrl)

//配置OAB

  • Get-OfflineAddressBook | Where {$_.ExchangeVersion.ExchangeBuild.Major -Eq 15} | Set-OfflineAddressBook -GlobalWebDistributionEnabled $True -VirtualDirectories $Null

我们运行完了这些命令后,可以返回Exchange 管理员中心,可以看到内外部URL已经设置为一样的值了。

新建(New)一个Exchange证书, 为证书命名,在这里我们命名为Exchange Services点击下一步。

确保没有选中"请求通配符证书",然后单击下一步。

选择证书需要安装的组织EX2016,点击下一步。

在证书列表中查看你想要包含的域,单击下一步,进入域编辑器Domain Editor。在"域编辑器"窗口中的"域名"框中,键入你要添加的域,这里我们写如EX2010.Contoso.local,然后单击"确定"。

指定要保存证书的路径。

这里我们省略申请CA证书的步骤。Exchange 服务器可以使用自签名的证书,或者第三方权威机构颁发的证书,这里我们推荐大家申请后者,如果要与Office 365混合部署的话,则需要第三方权威机构颁发的证书。申请好证书后,在状态栏点击完成(Complete)导入证书。

在Exchange证书界面,导入我们刚刚申请好的证书,点击确认。双击进入exchange service,你可以查看证书相关信息。

点击"services"服务,勾选SMTPandIIS,点击保存。

  1. 准备服务切换

做完了以上准备工作之后,我们开始切换服务。我们将更新Exchange 2010和Exchange 2016服务器的服务连接点(service connection points),更新DNS 记录,将DNS记录指向Exchange Server 2016,并验证组织内部的邮件流。我们将配置运行在新的Exchange server 2016上的Outlook Anywhere 以及客户端验证(Client Authentication)。

在Exchange 2010环境下,打开Exchange Management Shell,依次运行以下命令符。

//设置Outlook Anywhere 参数

  • Set-OutlookAnywhere "EX2010\RPC (Default Web Site)" -ClientAuthenticationMethod Basic -SSLOffloading $False -ExternalHostName mail.Contoso.local -IISAuthenticationMethods NTLM, Basic

//设置Autodiscover内部URI

  • Set-ClientAccessServer -Identity EX2010 -AutoDiscoverServiceInternalUri https://autodiscover.Contoso.local/Autodiscover/Autodiscover.xml

//重新设置IIS

  • IISReset

在Exchange 2016环境下,打开Exchange Management Shell,依次运行以下命令符。

//设置Autodiscover内部URI

//重新设置IIS

  • IISReset

返回域控服务器,打开服务器管理Server Manager console,右上角点击工具(Tools),选择DNS。

在DNS管理员下,点击Forward Lookup Zones,选择Contoso.local。

双击mail。

更新IP地址,这将把来自mail.contoso.local的请求导向Exchange Server 2016。

做完了以上步骤,我们回到EX2010刷新DNS。

打开Exchange Management Shell,输入IPConfig /flushdns

在EX2016也做同样的事情,刷新DNS。打开Exchange Management Shell,输入IPConfig /flushdns

  1. 邮箱迁移

打开游览器,输入邮箱登录URL,输入用户名和密码之后,可以看到用户是登录到Exchange 2010的Outlook Web App ,这是因为用户邮箱目前还位于Exchange 2010 邮箱数据库中。我们需要把位于Exchange server2010的邮箱迁移到Exchange 2016。

打开Exchange server 2016 Exchange Management Shell,运行以下命令符,验证邮箱数据库内容索引状态。

  • Get-MailboxDatabaseCopyStatus

确保在ContentIndexState列上,状态显示为Healthy。如果显示为Failed或者 Suspended,我们需要运行以下命令符。

  • $MDBName = Get-MailboxDatabase -Server EX2016

//停止Exchange搜索服务

  • Stop-Service MSExchangeFastSearch

//停止Host Controller Service

  • Stop-Service HostControllerService

//创建一个可用于存放索引的位置

  • $IndexFolder = Get-ChildItem -Path "C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\$MDBName" | Where-Object {($_.PSIsContainer) -and ($_.Name -like "*.Single")}

//移除索引文件夹

  • Remove-Item "C:\Program Files\Microsoft\Exchange Server\V15\Mailbox\$MDBName\$IndexFolder" -Force -Recurse

//重新开启Exchange 搜索服务

  • Start-Service MSExchangeFastSearch

//重新开启ost Controller Service

  • Start-Service HostControllerService

运行完成之后,我们接着输入以下命令符:

//创建一个新的迁移请求

  • New-MoveRequest -Identity Administrator -TargetDatabase (Get-MailboxDatabase -Server EX2016).Name

//验证迁移请求

  • Get-MoveRequest

//移除迁移请求

  • Get-MoveRequest | Remove-MoveRequest

打开游览器,输入https://mail.Contoso.local/ecp进入Exchange 2016管理中心。以管理员的身份登录,点击迁移(Migration)。在工具栏上,点击New新建一个迁移请求,选择Move to a different database。选择位于Exchange server 2010的用户,点击Add添加。

添加好之后,点击下一步。

为迁移批次命名,选择归档规则以及目标数据库。这里我们选择Exchange server 2016作为我们的目标数据库。

指定迁移完成后,接收迁移报告的对象。

我们可以查看迁移的进度,点击View Details查看详情。

等待迁移完成。

登录原本位于exchange 2010的邮箱SaraD,此时我们可以看到,SaraD的邮箱已经位于Exchange 2016,迁移完成。

Exchange Server 2010升级到Exchange Server 2016的更多相关文章

  1. Exchange Server 2010升级到Exchange Server 2013概览

  2. 安装部署及升级到Exchange Server 2010

    本文档详细的描述了,如何在Windows Server 2008 R2的环境下安装Exchange Server 2010,包括的内容有:   先检查组织环境: 1.请确保林的功能级别至少为 Wind ...

  3. Windows Server 2008 R2+SQL Server 2014 R2升级到Windows Server 2016+SQL Server 2016

    环境: 操作系统:Windows Server 2008 R2 数据库:SQL Server 2014 因SQL Server 2016可以无域创建AlwaysOn集群,集群只剩下单节点也不会挂掉,故 ...

  4. SharePoint Server 2010安装图解

    SharePoint Server 2010作为MOSS 2007的升级版本,自从2009年底发布Beta版本以来就备受关注,网络上已经出现了很多相关的文章,其中也不乏中文的信息. 最近SharePo ...

  5. Exchange Server 2010安装

    Exchange Server 2010安装  Exchange Server 2010是Microsoft最新的邮件服务器软件,功能比较强大.在此,我们在虚拟机中安装体验一下,主要步骤如下: (1) ...

  6. Exchange Server 2010/2013架构改变

    Exchange Server 2010架构 Exchange Server 2013架构

  7. Exchange Server 2010邮件策略与遵从性

    本文档附带了一个附档,里面详细的描述了如何在Exchange Server 2010中配置如下内容: 1.邮件分类 2.免责申明 3.配置信息隔离墙 4.邮件审核 5.Exchange 2010与AD ...

  8. 《Exchange Server 2010 SP1/SP2管理实践》——第2章 搭建Exchange实验环境2.1 网络环境规划...

    本节书摘来自异步社区<Exchange Server 2010 SP1/SP2管理实践>一书中的第2章,第2.1节,作者: 王淑江 更多章节内容可以访问云栖社区"异步社区&quo ...

  9. Windows Server 2008 R2 配置Exchange 2010邮件服务器

    windows server 服务器系统搭建邮件服务器一般两种情况: 1:Winmail server 软件 2:Exchange 参考教程:http://www.cnblogs.com/zhongw ...

随机推荐

  1. Linux下的Shell编程(1)最简单的例子

    深入地了解和熟练地掌握Shell编程,是每一个Linux用户的必修 功课之一. 从第一行开始 我们可以使用任意一种文字编辑器编写shell脚本,它必须以如下行开始(必须放在文件的第一行): #!/bi ...

  2. 在Debian或Ubuntu中安装和使用'搜狗输入法for linux'

    下载搜狗输入法 for linux点击 搜狗输入法 for linux 以下载安装包到本地 安装搜狗输入法 for linuxA.准备工作: (1) 连接网络.挂载系统安装盘 此安装过程需要网络连接, ...

  3. 使用Git进行代码版本管理及协同工作

    Git简介: git是一种较为先进的代码版本管理及协同工作平台,采用分布式文件块存储: 1.  分布式: 代码保存在所有协同成员的计算机上,网速较差时依然可用:而传统的集中式代码版本管理系统则较难脱离 ...

  4. Django:(博客系统)使用使用mysql数据&创建post/category/tag实体,并同步到数据中

    背景: 之前也读过一些关于django的一些书,看过别人写的一些博客系统.但是总有一种看别人的都会,但自己写不出来的感觉,于是为了加深对django的学习就开始动手学习了. 环境搭建: 环境:使用py ...

  5. html框架练习-基本网页制作

    index.html <html> <head> <title>html框架</title> <meta charset="utf-8& ...

  6. hasattr(obj,attr) 判断前面是否有后面的属性

    hasattr(obj,attr) 判断前面是否有后面的属性

  7. tkinter打招呼

    import tkinter as tk #导入tkinter模块声明为tk class App:#创建一个类名称为App def __init__(self,master):#传入的参数顶层窗口在这 ...

  8. spring 依赖注入时,什么时候会创建代理类

    问题来源 以前一直有个疑惑,为什么我创建的controller中注入的service类有时候是代理类,有时候是普通javabean,当时能力不够,现在已经有了点经验就大胆跟了跟源码,看看到底咋回事. ...

  9. 重拾Python(4):Pandas之DataFrame对象的使用

    Pandas有两大数据结构:Series和DataFrame,之前已对Series对象进行了介绍(链接),本文主要对DataFrame对象的常用用法进行总结梳理. 约定: import pandas ...

  10. BeautifulSoup 用法

    一.标签选择器 1.子节点contents ,child(迭代器), 2.子孙节点 descendants(迭代器) 3.父节点 parent 4.祖节点  parents 5.兄弟节点 next_s ...