Exchange Server 跨林迁移之迁移思路及命令

项目中遇到exchange 跨林迁移需求,实施前整理了exchange跨林迁移整体思路及迁移过程所用命令,整体步骤无问题,命令需要根据实际环境修改。


1. 前提条件准准备

  • 林信任搭建1

目标域设置(tatgetDomain.com.cn):

设置条件转发器,解析sourcedomain.com.cn域名时转发到源AD服务器

源域设置(sourcedomain.com.cn):

设置条件转发器,解析tatgetDomain.com.cn域名时转发到源AD服务器

设置完成后验证互相解析

  • 林信任创建2

需要创建源域和目标域的双向信任关系

打开“Active Directory域和信任”,新建信任

  • 管理员权限设置:

管理员权限配置,在源域和目标域中将对方域的domain admins 组添加到Bulitin\administrators组中,保证双方管理员对对方域控具有管理权限

  • 禁用SID筛选:

在目标域执行以下命令禁用SID筛选:

NETDOM trust targetdomain.com.cn /domain:sourcedomain.com.cn /Userd:administrator /Passwordd:password /Quarantine:No

  • 启用审核:

在源域中创建一个sourcedomainNetBIOS$$$的安全组,在源域和目标域中打开组策略管理器,导航到审核策略,启用审核账号管理

2. ADMT迁移工具安装

  • ADMT安装:

在目标域安装ADMT工具,执行SQL Server桌面引擎的安装,选择“Use Microsoft SQL Server Desktop Edition (Windows)”,使用自带的 SQL Server 作 数据库或安装SQL server 2008 express版本。

  • 安装密码迁移工具:

在 AMDT 服务器上执行如下命令

Admt key /option:create /sourcedomain:sourcedomain.com.cn /keyfile:c:\sourcedomain.pes /keypassword:P@ssw0rd      

在源域控上安装ADMT密码迁移工具,浏览导出的加密文件,设置启动账户(sourcedomain\administrator)

重新启动源域服务器,并且手动启动password export server service服务

  • 用户账户迁移:

迁移AD账户和组到targetdomain.com.cn域中

查看账户属性是否有密码永不过期,如设置了密码永不过期通过以下命令取消该设置:

$users=Get-ADUser -Filter * -Properties *  foreach($user in $users) { $user.name Set-ADUser -identity $user.samaccountName -ChangePasswordAtLogon $false }

3. exchange服务器环境准备

发送连接器创建,使源和目标exchange能正常接收对方邮件

New-SendConnector -Name "Mail to mnc.com.cn" -AddressSpaces mnc.com.cn -SmartHosts 172.16.254.132 -SourceTransportServers "exchcas01,exchcas02"

New-SendConnector -Name "Mail to sourcedomain" -AddressSpaces sourcedomain.com.cn -SmartHosts 172.16.254.16,192.168.254.108 -SourceTransportServers cas01

接收连接器设置:

New-ReceiveConnector -Name 'From sourcedomain' -RemoteIPRanges @('10.15.200.216', '10.15.200.217', '10.15.200.218') -Bindings @('0.0.0.0:25') -Usage 'Custom' -Server 'EXCAS02.targetdomain.com.cn' TransportRole 'FrontendTransport'

Set-ReceiveConnector -RemoteIPRanges @('10.15.200.218', '10.15.200.217', '10.15.200.216') -Bindings @('0.0.0.0:25') AuthMechanism 'Tls, ExternalAuthoritative' -PermissionGroups 'ExchangeServers, AnonymousUsers' -Identity 'excas01\From sourcedomain'

目标域中继域设置

4. 组策略设置

源域中组策略分发目标域根证书

5. DNS记录添加:

目标域内外网添加mnc.com.cn(此域名为过渡域名,由于目标域mail及autodiscover记录无法修改)解析区域

Mail.mnc.com.cn  casIP

Autodiscover.mnc.com.cn CasIP

目标域exchange配置检查:

Owa、activesync、outlookanywhere

6. 源域启用RMS:

  • 登录到源域的Exchange服务器,执行命令启用RMSProxy

Get-WebServicesVirtualDirectory -Server exchcas01 |SetWebServicesVirtualDirectory -MRSProxyEnabled $true

Get-WebServicesVirtualDirectory -Server exchcas02 |SetWebServicesVirtualDirectory -MRSProxyEnabled $true

  • 或通过以下方法启用RMSProxy

打开到目录C:\Programe Files\Microsoft\Exchange Server\V14\ ClientAccess\exchweb\ews\ web.config找到<!--Mailbox Replication Proxy Service configuration--> sEnabled=”false”, 将 false 改成 true,然后重启IIS

7. 目标域启用联系人:

为保证迁移后账户收发邮件正常,需要将所有账户均临时准备为联系人

Enable-MailUser -Identity S1 -ExternalEmailAddress [email protected]

  • 批量启用联系人(提前准备好csv表格,emailaddress为源域用户电子邮件地址)

Import-Csv c:\move.csv | %{Enable-MailUser -Identity $_.SamAccountName -ExternalEmailAddress $_.EmailAddress}

  • 启用联系人后通过ADMT迁移组:

迁移组到tatgetdomain.com.cn域,必须在用户启用联系人后进行组的迁移,才能匹配成员关系

  • 通讯组添加legacyDN属性,导出通讯组信息

$DistributionGroup = Get-DistributionGroup -OrganizationalUnit "OU=test,DC=sourcedomain,DC=com,DC=cn"  $DistributionGroup|Select-Object Name, DisplayName, Alias, legacyExchangeDN |Export-Csv D:\DistributionGroup.csv -Encoding UTF8 NoTypeInformation

  • 为迁移至新邮件系统的的通讯组添加 SMTP 地址,地址指向为:类型为 500,地址为原邮件系统中通讯组的 legacyExchangeDN

$GroupInfo = Import-Csv D:\DistributionGroup.csv -UseCulture -Encoding Default foreach ($Group in $GroupInfo) {     $Name = $group.name     $legacyExchangeDN = $group.legacyExchangeDN     $Alias = $Group.alias     

#Enable-DistributionGroup -Identity $Name -Alias $Alias     

#Set-DistributionGroup -Identity $Name EmailAddressPolicyEnabled:$false

8. 目标域执行准备迁移:

打开 Exchange Management Shell

运行命令cd "C:\Program Files\Microsoft\Exchange Server\V14\Scripts"

获得管理员的验证通过下面的命令 $SourceCredential = Get-Credential “sourcedomain\administrator”

在弹出的对话框中, 输入 Password01! 然后点击 OK

.\Prepare-MoveRequest.ps1 -Identity "CN=S1,OU=SourceUsers,DC=sourcedomain,DC=com,dc=cn"-RemoteForestDomainController "sourcedc04.sourcedomain.com.cn" –RemoteForestCredential $SourceCredential –UseLocalObject

  • 批量进行迁移准备(提前准备csv表格)

[PS] D:\Exchange\Scripts>import-csv c:\move.csv |%{.\Prepare-MoveRequest.ps1 -id $_.DistinguishedName -remoteforestdomaincontroller "sourcedc04.sourcedomain.com.cn" -remoteforestcredential $sourcecredential -uselocalobject}

9. 批量迁移邮箱

import-csv c:\move.csv |%{New-MoveRequest -Identity $_.D1 -Remote -TargetDeliveryDomain "mnc.com.cn" -RemoteHostName "sourceexchcas01.sourcedomain.com.cn" -TargetDatabase DB01 -RemoteCredential $SourceCredential -batchname F1}

#批量迁移并搁置迁移,suspendwhenreadytocomplete参数为迁移到95%后自动搁置

import-csv c:\move.csv |%{New-MoveRequest -Identity $_.D1 -Remote -TargetDeliveryDomain "mnc.com.cn" -RemoteHostName "exchcas01.sourcedomain.com.cn" -TargetDatabase DB01 -RemoteCredential $SourceCredential -suspendwhenreadytocomplete:$true -batchname F1}

#重启搁置的迁移

import-csv c:\move95.csv | %{get-moverequest -Identity $_.SamAccountName | resume-moverequest}

10. 迁移后导出邮箱用户信息验证:

Get-Mailbox -ResultSize 100000 |Select-Object Name,Alias,DisplayName,DistinguishedName,Database,PrimarySmtpAddress,Us erPrincipalName |Export-Csv D:\AllMailboxInfo.csv -NoTypeInformation Encoding UTF8

11. 迁移后导出通讯组信息验证:

Get-DistributionGroup -ResultSize 10000 |Select-object Name,Alias,DisplayName,DistinguishedName,PrimarySmtpAddress |Export-Csv D:AllGroupInfo.csv -NoTypeInformation -Encoding UTF8

12. 迁移完成后邮件流切换


注.迁移过程中outlook客户端收发正常,迁移完成后outlook客户端会要求重启客户端。




猜你喜欢

转载自blog.51cto.com/ximeng211/2112084