一、 安装
简单一点,确保域控什么的都是Windows2003 SP1以上的。
注意,新安装要用一个顶级域的企业管理员身份登录再安装。
如果还有Exchange 2003, 需要运行PrepeareLegacyPermision,
简单的话就在Schema Master的site和domain里运行,一般是setup /PrepareLegacyPermission 会准备所有林中的域。 还要确保2003的organization是native模式的,打上最新的SP。 为了和2003或2007共存,部署的顺序是先安装client access再hub transport 再mailbox
然后prepare schema
在一台64位机器上,和schema master在同一个site里的。运行setup /PrepareSchema
(要调出schema 的MMC,别忘了先运行regsvr32 schmmgmt.dll)
然后准备AD: setup /PrepareAD /organizationName:OrgName 如果是新安装,还没有指定organization的就要那个第二个选项 OrganizationName。 这一步运行后本地domain已经被准备好了,也就是不要再PrepareDomain。
如还有其他的域或者后来又加了新的域,则setup /PrepareDomain 或者 setup /PrepareAllDomains
安装:在Windows2008 R2上面安装比较简单,如果是2008 SP2的就要下载安装 .NET framework 3.5, Power Shell 2.0 之类的东西。
2007 Office systemConverter MS Filterpack是安装hub transport必须的。
还有很多roles and features,根据exchagne角色不同也有不同。 用命令 servermanagercmd.exe -ip name.xml -restart 可以快速安装好这些东东, 所用的xml文件在安装盘s的cripts目录下。
如果是CAS,还要配置NET.TCP port sharing service 服务自动启动。
Set-Service -Name NetTcpPortSharing -StartupType Automatic
安装注意,你必须在每个site里都有mailbox hubtransport 和CAS,除非这个site没有邮件需求。 你必须是Organization Management Role组的用户才能安装。
安装命令 setup.com /mode:install /role:Mailbox, Hubtransport
安装完成后,还要配置OAB, 配置ActiveSync,配置收信的internet域等工作
常见端口: 25 135 80 443, 这些端口windows自身的防火墙在安装时已自动配置好。
验证日志:一般在C:\ExchangeSetupLogs\ExchangeSetup.log 或者用shell 命令:
Get-ExchangeServer -Identity VAN-EX1 | Format-List
二, 数据库和地址簿
Exchange 2010 已经摒弃了storage group的概念。 在2007 的时候推荐的是一个存储组方一个数据库,而现在已经没有存储组了。
数据库不再是附属于某一个服务器,而是直接在organization底下,整个组织内,数据库名必须唯一。
数据库文件 .edb ; checkpoint 文件 .chk ; 日志文件 .log ; 保留的日志文件.jrs 仅在空间不足时使用。
创建,然后加载
Mount-Database -Identity
Dismount-Database -Identity
标准版Exchange 2010 的数据库大小限制默认50GB,企业版不设限制。 可以在注册表里修改此限制。首先要知道GUID
Get-MailboxDatabase -Identity "<server name>\<database name>" | Format-Table Name,GUID
然后注册表 HKLM\System\CurrentControlSet \Services\MSExchangeIS\servername\Private-GUID, 创建或修改键值 Database Size Limit in GB
Public Folder是outlook 2003 需要的,如果安装服务器时未指明要创建,也可以手工创建。
New-PublicFolderDatabase 一个服务器最多只能有一个public folder DB
Global Adress List 和Offiline Address Book都是在mailbox Role上,由SA服务维护更新的。 默认会创建出来,并且OAB每天更新一次。
可以创建自定义的GAL 和 OAB。
OAB的更新也可以更换,EMC里选中OAB,然后选Move.
或者是 Move-OfflineAddressbook 命令
移动用户的邮箱,这个使用的shell命令和以前不一样,是
New-MoveREquest -Identity -TargetDatabase, 还可以使用-Whatif 这个开关检查邮箱是否准备好迁移。
import / export 到 PST 文件
这个和以前的2007 也有很大不同。
要求你有一台64位机器装了exchange 管理工具和outlook 2010 64 bit。 可以把.pst 文件输出到网络共享文件夹。 该共享文件夹必须给这个组 : “Exchagne TRusted Subsystem” 以读写权限。
给操作者导出导入权限:new-managementRoleAssignment -Role "Mailbox Import Export" -user "***"
导出: New-MailboxExportRequest -mailbox "***" -Filepath \\svr\path
批量导出: foreach ($i in (Get-Mailbox)) { New-MailboxExportRequest -Mailbox $i -FilePath "\\AZUA\Exports\$($i.Alias).pst" }
或创建一个csv名单,里面有Alias栏目,内容是各用户的邮箱alias。命令:
foreach ($i in (Import-Csv .\exports.csv)) { New-MailboxExportRequest -Mailbox $i.Alias -FilePath "\\AZUA\Exports\$($i.Alias).pst" }
导入: New-MailboxImportRequest
这些命令要安装了outlook 2010 以后才会可用。
Exchange 控制面板
这个在server configuration/client access/exchange control panel里设置属性。
客户端用浏览器访问,一般是https://servername/ecp
功能有设置自己的邮件规则,可以申请加入某个组,当然那个组要开放加入申请。
关于安装证书
你如果用域里面自己建立的CA创建一个证书,给exchagne安装上,可能会出现它说 他the certificate is invalid for exchange server usage. 这个是因为你没有把域里面CA的根证书导入到本机。 你要浏览到CA的certsrv页面,点击download a CA certificate certificate chain or CRL,如果是一个CA就直接下载ertificate,如果是经过中间CA颁发,就要下载整个chain。 然后在本机certificate mmc里面,把它导入trusted root Certification Authorities
三,Transport
Send Connector 默认不创建,Receive Conenctor默认会创建2个,都可以在organization/hub transport里创建。
Accepted Domain是exchange可以接受的邮件域名列表,也是可以以之为域名发送的邮件地址列表。
Email Address Policy
用于自动生成邮件地址,通常外部的邮件地址都不会是AD的域名,需要手工改,所以这个设置了很有用。
在EMC 里面 organization \Hub transport, Email Address Policies里面,可以修改默认的那个,也可以创建新的。 选择对哪些用户生效,怎样构成邮件地址,域名用什么。 完成后可以立即使用,也可以设置以后使用。 生效后,不光现有的用户会修改,以后新创建的或改动过的用户都会自动更新地址。
但注意,删除一个policy不会删除已经生成的邮件地址。
shell 命令 New-EmailAddressPlicy
如果只是为某一个用户增加地址,用:
Set-Mailbox sjohn@domain.com -EmailAddresses @{[email protected]}
Update-EmailAddressPolicy, 用于更新
Edge Trasnport
安装前要确保以下组件已安装
.NET FrameWork 3.51
Remote System Administration Tools for Active Directory Directory Services
Active Directory Lightweight Directory Services
还有确保主机域名已配置好。
EdgeSync是单向的,从Hub导向Edge, 设置了EdgeSync Subscription后,某些操作在edge服务器上就不能做了,比如SendConnector AcceptedDoamin RomoteDomain等
防火墙上打开 25 和 50636
创建Sync方式先在Edge上运行,导出的文件拷贝到Hub,再在Hub上new一个Subcription,导入那些文件。
Clone Edge transport 服务器,这是为了有统一配置的外部服务器。
先在源服务器上ExportEdgeConfig.ps1, xml稍作修改,在目标机器上ImportEdgeConfig.ps1
EdgeSync配置还是要单独对每个做一遍。
传输队列的监控
可用命令 Get-Queue, 可以用Filter
Get-Queue -Filter{MessageCount -gt 50}
Get-Queue -Filter{NextDomain -eq "***"}
大括号里可用的参数类型有:
DileveryType Identity LastError LastRetryTime MessageCount NextHopConnector NextHopDomain NextRetryTime Statut
其他监控
Mailbox的状态
Diable-Mailbox 将邮箱置于disconnected状态(即无AD用户与之关联)
Conenct-MAilbox 将邮箱置于conencted状态(即有AD用户关联)
Clean-MailboxDatabase 扫描数据库,将状态未正确设置的邮箱修复正确设置。
可以用telnet 25 端口看邮件是否正常,但只能连接到配置了receive conenctor的transport服务器,receive设置是允许anonymous 或basic authentication
用telnet测试SMTP服务器方法:
telnet
set localecho 打开回显
open hostname/ip 25
收到欢迎消息, 键入 EHLO domainname
MAIL FROM:address
RCPT TO:address NOTIFY=success,failure
DATA
输入SUBJECT, 然后回车,huiche,输入内容
输入. 回车
关于日志
connectivity log 记录发送往外部的邮件连接事件,默认是关的
ptotocol log 记录SMTP 通讯,针对每个send/receive connector 单独设置,但是同一服务器上所有receive或send connector 共用同一个log 文件。
每个hub transport 上面都有一个默认的隐藏的intra organization send connector, 可以打开或关闭protocol log
Set-TransportServer �CIntraOrgConnectorProtocolLoggingLevel Verbose 打开
Set-TransportServer �CIntraOrgConnectorProtocolLoggingLevel None 关闭
对于其他的send/receive conenctor, 则是用
set-receiveconnector set-sendconnecotor 来设定 protocolLoggingLevel 参数。
默认ptotocol log日志文件路径
Receive connector protocol log files C:\Program Files\Microsoft\
Exchange Server\V14\TransportRoles\Logs\ProtocolLog\SmtpReceive
Send connector protocol log files C:\Program Files\Microsoft\Exchange
Server\V14TransportRoles\Logs\ProtocolLog\SmtpSend
可以修改路径
Set-TransportServer �CIdentity SVR-EX1 -ReceiveProtocolLogPath C:\ProtocolLogs\Receive
Set-TransportServer �CIdentity SVR-EX1 -SendProtocolLogPath C:\ProtocolLogs\Send
agent log 是反病毒反垃圾邮件软件写的log, 默认放在C:\Program Files\Microsoft\
Exchange Server\V14\TransportRoles\Logs\AgentLog. 默认在transport 服务器上是打开的。
Exchange store logging 又叫transaction logging, 是属于重做日志,以Enn名字加log后缀名,文件名的数字是16进制的。 每个文件都是1MB大小。 重做日志的circular logging默认是关的。
administrator audit logging, 记录每个运行过的EMS命令,什么时候谁运行的,带什么参数等。可以打开或关闭,用命令
Set-AdminAuditLogConfig -AdminAuditLogEnabled $True 或 $False
还要指定一个邮箱用于存储此日志
Set-AdminAuditLogConfig -AdminAuditLogMailbox [email protected]
Routing Table Logging 日志定期或在某个特定事件时记录下此时的邮件路由表的快照。 默认路径是 C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\Routing 使用Routing Log Viewer图形工具来看。 默认日志是开的。
Event Log Level可以设,最低是lowest(只记录严重事件) low medium high 最高是expert(记录最详细)Set-EvetnLogLevel 可以对很多中对象设置日志详细级别。
Message TRacking Log 默认在所有transport和Mailbox服务器上打开 默认路径是C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\Logs\MessageTracking
默认是LOG里会记录邮件的标题,如果不想记录,用命令
Set-TransportServer �CIdentity VAN-EX2 -MessageTrackingLogSubjectLoggingEnabled $false 或$true记录标题。
Journaling Mailbox
如果要监控某些或所有邮箱的收发的邮件,可以用Journaling Mailbox。 需要创建一个用户和邮箱,创建一个规则 New-JournalRule 来监控。 具体看微软文档。
反垃圾邮件和病毒
在Edge transport上面,邮件要经过多个transport agent
Connection Filtering agent 主要是IP允许和组织列表
Address Rewriting Inbound agent
Edge Rule agent
Content Filter agent 给邮件内容评估打分,分越高越可能是垃圾邮件。
Sender ID agent 查找DNS服务器判断发邮件的ip是否合法,给出一个分数。
Sender Filter agent
Recipient Filter agent 阻止某些收件人
Protocol Analysis agent
Attachment Filtering agent 可以根据附件文件后缀名决定过滤
Address Rewriting Outbound agent
IP组织和允许,首先要让IPAllowListConfig和IPBlockListConfig的Enabled 选项都是true
然后可以加入允许/组织的ip段,或者天界一个IP列表的provider
Add-IPAllowListEntry Add-IPAllowListProvider Remove-IPAllowListProvider 等命令。
可以设置Block通知:
Set-IPBlockListProvider "Trey Block List Provider" -RejectionResponse "Your message was
rejected because the IP address of the server sending your message is in the block list
of the Trey Block List Provider service."
打开内容分析过滤
Set-ContentFilterConfig -Enabled $true 默认是开的
设置拒绝垃圾邮件的SCL评估值
Set-ContentFilterConfig -SCLDeleteEnabled $true -SCLDeleteThreshold 9
Set-ContentFilterConfig -SCLRejectEnabled $true -SCLRejectThreshold 7
Set-ContentFilterConfig -SCLQuarantineEnabled $true -SCLQuarantineThreshold 5
如果你指定了Reject值,那么也可以设置一个RejectionMEssage
如果指定了Quarantine,那么需要创建一个QuarantineMailboc并设置。
recipient filter设置要复杂一些,添加一个block地址要这样
$Listing = Get-RecipientFilterConfig
$Listing.BlockedRecipients += "[email protected]"
Set-RecipientFilterConfig -BlockedRecipients $Listing.BlockedRecipients
sender filter 这个默认是打开的 Set-SenderFilterConfig -Enabled $true
senderFilterConfig的参数主要有 BlockedSenders, BlockedDomains, BlockedDomainsAndSubdomains
添加方法同上。
Set-SenderIDConfig 设置Sender ID agent, 默认是打开的。
Set-SenderReputationConfig -Enabled $true 默认打开。
反病毒软件,Exchange服务器上安装此类软件要小心,有可能误报或锁定某些文件造成Exchange死锁。 与Exchange有关的一切文件夹必须列入不扫描的列表,相关进程要列入不扫描之列。
系统冗余
DAG是一组服务器组成的,最多16个服务器。 一个服务器只能属于一个DAG! 在organization里先定义好DAG再把服务器往里加。可以在EMC里 rganization configuration\Mailbox 或者用shell 创建DAG,
New-DatabaseAvailabilityGroup �CName DAG-ALPHA �CDatabaseAvailabilityGroupIpAddresses
10.10.0.100 �CWitnessServer 'ht.adatum.com' �CWitnessDirectory 'c:\witness'
这里要用到一个witness server,这最好是一个hub transport并且上面没有mailbox role的服务器。 此服务器不属于任何DAG,一个witness服务器有可能监控多个DAG,但是每个必须有独立的witness 数据目录。
DAG成员服务器必须是enterprise 或 datacenter的,每个成员OS版本要一样,普通版windows不行,因为DAG用到了cluster的功能。DAG里有了成员之后,就可以添加MAilbox copy
可以用EMC加, organization oncifguration \ mailbox,选中数据库然后选择添加DB copy。
命令行: Add-MailboxDatabaseCopy �CIdentity 'ResearchMailDBta' �CMailboxServer 'S-MBX02'
�CActivationPreference '2'
拷贝建立好以后,可以用Update方法让它和一个数据库拷贝 update或叫seed,获得数据库里的数据。
需要的时候可以把active拷贝转移到其他服务器上,这个时候有一个override mount dial setting
其中Lossless花时间长单保证没有丢失数据, Good Availability, Best Effort这个立即激活但可能丢失很多数据, Best Availibility
数据拷贝的复制过程可以暂停或继续,可以在EMC里,也可以命令:
Suspend-MailboxDatabaseCopy �CIdentity DB-ALPHA\VAN-MBX
Resume-MailboxDatabaseCopy �CIdentity DB-ALPHA\VAN-MBX
系统备份和恢复
用Windows自带的备份工具,可以备份系统状态和文件目录,如果Exchange服务运行,可以备份Exchange数据,如果没有运行只能作为文件备份。
RDB 是用来把数据临时恢复到一个数据库里,用来恢复部分内容,如误删的邮件或邮箱。
New-MailboxDatabase -Recovery -Name RecoverDB -Server S-W08-EX1 先要创建一个RDB
你可以把windows server backup的内容回复到一个目录,不是原始目录,然后用eseutil检查和修复,然后才new一个RDB,直接建在这个目录上,这样就有数据了。
RDB只能用于备份恢复2010格式的邮箱数据库。
Get-Mailbox -Database MyDatabase | Restore-Mailbox -RecoveryDatabase RecoverDB 此命令可以一个一个的把邮箱从RDB里面merge到原来的位置,即MyDatabase里面。 Resoter-Mailbox 加上identity 选项可以恢复merge单个邮箱。
把数据库转移到新的服务器上去:
先创建一个DB:
New-MailboxDatabase -Name MyNewDatabase -Server W08-EX2 -EdbFilePath
C:\Databases\MyNewDatabase\MyNewDatabase.edb -LogFolderPath C:\Databases\MyNewDatabase
设置可以restore
Set-MailboxDatabase MyNewDatabase -AllowFileRestore:$true
然后把edb和log文件都拷贝过去, 再mount
Mount-Database MyNewDatabase
把邮箱指向新的DB:
Get-Mailbox -Database MyOldDatabase | where {$_ObjectClass -NotMatch
'(SystemAttendantMailbox|ExOleDbSystemMailbox)'} | Set-Mailbox -Database MyNewDatabase
disconnect的邮箱默认在DB里面保持30天,这个可以通过查看maildB的 mailboxretention参数知道。 30天以内可以用EMC或EMS恢复邮箱。
恢复单个条目,这个在2007里叫dumpster。 删除的题目放在特殊目录里供恢复用。
本文出自 “Jason Cao 的博客” 博客,请务必保留此出处http://caozs.blog.51cto.com/707029/1009278