这两天试着在WindowsServer2016上安装ExchangeServer2016,遇到了两个头疼的问题,还好几经搜索加摸索终于把问题解决了,现在把经验分享出来,给遇到同样的问题的人以参考。在WindowsServer2016上安装ExchangeServer2016不再象以往安装系统那样,逮着安装程序直接启动后点下一步这样跟着走就可以无脑完成了,有些需要特别设置的地方:
1. 首先,ExchangeServer2016安装需要域环境,且需要预先安装UCMA4.0运行库,这一点没问题,自己设置一下就可以了,否则规则检查那一块过不去。
2. 第一个坑:直接在WindowsServer2016上安装ExchangeServer2016的原版是不行的。必须使用ExchangeServer2016 CU3以上的版本,CU3就是累积更新3。本人选的直接装CU5。如果使用原版,会卡在规则检查阶段,要求系统安装桌面体验,但WindowsServer2016带GUI安装后的添加服务器功能里是没有桌面体验的,这样就死胡同了。所以必须使用CU3以上的版本。
3. ExchangeServer2016 CU3本身其实是个完整的版本,类似于“ExchangeServer2016 with CU3”。象本人这样的新手一开始看到名字以为只是个更新包,其实直接下载安装就行了。
4. 跨过第一个坑后可以过规则检查阶段进入实际的安装阶段了,安装阶段一共有13阶段,在第7阶段这里还有个坑会出错,错误文本是类似于这样(我就不整理格式了):
--------------------------------------------------
错误: 运行"$error.Clear(); Install-ExchangeCertificate -WebSiteName "Exchange Back End" -services "IIS, POP, IMAP" -DomainController $RoleDomainController -InstallInTrustedRootCAIfSelfSigned $true if ($RoleIsDatacenter -ne $true -And $RoleIsPartnerHosted -ne $true) { Install-AuthCertificate -DomainController $RoleDomainController } "时生成以下错误:"Microsoft.Exchange.Management.SystemConfigurationTasks.AddAccessRuleCryptographicException: 由于引发了加密异常,无法授予网络服务访问包含指纹 C2DBB62E06004C5488A1BF6D0B7F84F7FD9A44D9 的证书的权限。 ---> System.Security.Cryptography.CryptographicException: 拒绝访问。
在 Microsoft.Exchange.Security.Cryptography.X509Certificates.TlsCertificateInfo.CAPIAddAccessRule(X509Certificate2 certificate, AccessRule rule) 在 Microsoft.Exchange.Security.Cryptography.X509Certificates.TlsCertificateInfo.AddAccessRule(X509Certificate2 certificate, AccessRule rule) 在 Microsoft.Exchange.Management.SystemConfigurationTasks.ManageExchangeCertificate.EnableForServices(X509Certificate2 cert, AllowedServices services, String websiteName, Boolean requireSsl, ITopologyConfigurationSession dataSession, Server server, List`1 warningList, Boolean allowConfirmation, Boolean forceNetworkService) --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.Exchange.Configuration.Tasks.Task.ThrowError(Exception exception, ErrorCategory errorCategory, Object target, String helpUrl) 在 Microsoft.Exchange.Configuration.Tasks.Task.WriteError(Exception exception, ErrorCategory category, Object target) 在 Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.EnableForServices(X509Certificate2 cert, AllowedServices services) 在 Microsoft.Exchange.Management.SystemConfigurationTasks.InstallExchangeCertificate.InternalProcessRecord() 在 Microsoft.Exchange.Configuration.Tasks.Task.<ProcessRecord>b__c() 在 Microsoft.Exchange.Configuration.Tasks.Task.InvokeRetryableFunc(String funcName, Action func, Boolean terminatePipelineIfFailed)"。
--------------------------------------------------
这个问题的解法,我是这样做的:运行MMC,打开微软管理控制台,文件菜单->添加管理单元,选择证书,将“证书(本地计算机)”添加到节点。接下来关键的一步,就是找到“个人”节点,将“个人”节点下有一个名为“Microsoft Exchange Server Auth Certificate”的证书,给移动到“受信任的根证书颁发机构”这个节点下。移动证书可以直接用拖放操作,纯粹菜单无法操作只有剪切复制没有粘贴。 完成上述操作后,就可以顺利完成安装了。
这里的“Microsoft Exchange Server Auth Certificate”证书不知道是不是非得安装失败一次后才会出现在个人节点下,不知道有没有办法可以预先避免,实在不行就安装失败一次退出后再设置吧。这两个坑很让人头疼。微软安装程序可能有些地方没有做到位,只有我们手动设置。
和2010不同,ExchangeServer2016的服务器管理界面完全是B/S版本的了。这个倒是让我感觉到意外的一点。