1. 什么是直接信任证书?
2. 直接信任证书有哪些用途?
3. 如何判断哪张证书是直接信任证书?
4. 什么是直接信任?
5. 如何对Exchange 2007下的卷影复制服务 (VSS)进行排错?
6. 如何确定在Exchange 2007中,每个邮箱存储数据库可以存放的最大邮箱数目?
7. 如何在Exchange中实现批量管理?
8. 使用Outlook Anywhere 的时候如何保存密码?
9. 自动发现服务是如何让Outlook 2007自动连接到Exchange 服务器?
10. Outlook 2007 如何与老版本的邮箱服务器共存使用, 例如 Exchange 2003?
11. Outlook 2007是如何找到自动发现服务的?
12. 证书和自动发现服务之间有什么联系?
13. 如何在Outlook中更新GAL?
14.如何处理OWA 中大型GAL瘫痪的问题?
15.OWA 中如何设置语言?
16. Exchange 服务器邮件路由中常用的邮件属性有哪些?
17. legacyExchangeDN属性和proxyAddress属性在Exchange做邮件处理时是如何应用的?
18.什么时候使用targetAddress属性?
19. Exchange数据库文件的在线碎片整理和线下碎片整理有什么区别?
20. 通过线下碎片整理我可以获得多少磁盘空间?
21. 如何去解决数据库文件不能加载的问题?
1.什么是直接信任证书?
当安装带有Hub或者Edge传输角色的Exchange 服务器的时候,会创建一张缺省的证书。因为Exchange生成这张证书而不是真正的证书授权机构,该证书被认为是自签名的。这张缺省的证书将成为直接信任证书。
该直接信任证书保存在两个位置,本地计算机的证书存储中和活动目录中Exchange 服务器对象的msExchServerInternalTLSCert的二进制值中。保存在活动目录中的证书的私钥不能被访问,私钥只能通过本地服务器来访问。如果Exchange 无法从这两个位置访问该证书的话,那么中心传输服务器之间的邮件流以及中心传输服务器和边缘传输服务器之间的邮件流都会出现问题。
2.直接信任证书有哪些用途?
Exchange 在下面几种情况下使用直接信任证书:
• 为组织内部的中心传输服务器之间的SMTP流量建立安全通道,它使用微软私有的名叫X-AnonymousTLS SMTP 扩展。
• 为组织内部的中心传输服务器和边缘传输服务器之间的SMTP流量建立安全通道,也使用X-AnonymousTLS SMTP 扩展。
• 中心传输服务器和边缘传输服务器之间的通信时使用的身份验证机制,通常称为直接信任。
• 在边缘订阅中建立从中心传输服务器到边缘传输服务器之间的安全的LDAP连接,
• 加密和解密保存在目录中的边缘同步的凭据。
3.如何判断哪张证书是直接信任证书?
在Exchange 服务器2007 RTM版本中,没有内置的方法来判断出直接信任证书。如果安装了多张证书的话,任何有效的证书都有可能成为直接信任证书只要CertificateDomains包含本地计算机的完全限定的域名(FQDN)。
这里有一些方法能够用来做有根据的猜测,哪张证书可能是直接信任证书。下面的命令可能会用到:
Get-ExchangeCertificate –DomainName <FQDN of local computer> | FL Thumbprint, Status, IsSelfSigned, NotBefore
基本上,记下所有包含本地计算机的完全限定的域名的证书,以及它们的“Not Before”日期,是否为自签名。如果这些证书中有一张不是自签名的那么最新的且有效的非自签名证书最有可能是缺省证书。如果所有匹配的证书都是自签名证书那么最新的且有效的证书最有可能是缺省的证书。
注意:你不能使用Remove-ExchangeCertificate命令删除直接信任证书。
在SP1中,我们可以使用Get-TransportServer命令来查询InternalTransportCertificateThumbprint属性,很容易就知道哪张证书是缺省证书。
4.什么是直接信任?
直接信任是一种通过X-AnonymousTLS发生的验证机制,直接信任不是在每次X-AnonymousTLS协商时都发生,只有当中心传输服务器与边缘传输服务器协商或者反向协商时才发生。因为直接信任使用X-AnonymousTLS,使用直接信任的任何接受连接器上的ExchangeServer验证方法必须被选中。
基本上,发送服务器发送自己的直接信任证书的拷贝给接收服务器,接收服务器检查自己的直接信任缓存来查看该证书是否和缓存中的某个服务器匹配,直接信任缓存是一个保存了目录中所有中心传输服务器和边缘传输服务器的列表,该列表含有一些服务器的信息和与它们关联的直接信任证书。如果接受服务器找到匹配的证书,该验证就会成功,否则验证会失败。
当匹配的证书找到后,接受服务器会根据匹配的服务器类型找到SID,然后将SID和会话关联起来。换句话说,如果发送服务器是中心传输服务器的话,边缘传输服务器将会把中心传输服务器的SID和会话关联起来,并且根据SID应用ACLS给该会话。边缘传输服务器发送给中心传输服务器的时候,中心传输服务器将会把边缘传输服务器的SID和会话关联起来。在这种情况下,权限不会被关联到单个的服务器名称或者“Exchange Servers”组,而是SID。
5.如何对Exchange 2007下的卷影复制服务 (VSS)进行排错?
注意:多数VSS故障已通过Service Pack的方式进行了修复。因此,在排错之前,请确认您已安装操作系统和Exchange的最新Service Pack。
1.VSS功能是否正常工作过?如果功能从来都无法使用,这可能是一个配置上的问题,而非VSS功能上的故障
2.为排错收集有用的日志信息。
•在事件查看器中,查看系统和应用程序事件日志中是否有相关的错误信息。
•使用VSSAdmin(英文)工具来执行下列命令,查看输出是否有相关的错误信息。
List Providers
List ShadowStorage
List Volumes
List Writers
3.通常,我们使用能够自动感知Exchange的VSS备份软件。为了确认问题是否出在备份软件上,我们可以在暂时移除或禁用备份软件的基础上,使用Windows server自带的工具去进行一次备份。
注意:在Exchange 2007本地连续复制或群集连续复制环境中,我们可以在主动节点上使用NTBackup或在被动节点上使用VSSAdmin来进行该项测试(请参考这篇文档中的前2步)
更多信息(英文):
VSS Frequently Asked Questions
Troubleshooting Exchange 2007 VSS Backups
Best Practices for Using Volume Shadow Copy Service with Exchange Server 2003
6.如何确定在Exchange 2007中,每个邮箱存储数据库可以存放的最大邮箱数目?
1.要算出这个数字,我们首先必须得到以下参数的确切值:
a.为用户设置邮箱配额。
b.计算单个邮箱的空白空间的大小,该值应当是单个邮箱平均每天发送/接收到的所有邮件的大小。
c.计算已删除邮箱保留Dumpster的大小,该值应当是(单个邮箱平均每天发送/接收到的所有邮件的大小)乘以(平均每封软删除邮件的大小)乘以(删除邮件的保留期,默认14天)。
注意:该值通常占邮箱配额的5%。
2.现在是时候把上面所有的数值加在一起以得出实际的邮箱大小了,方程式(对单个邮箱)是:邮箱配额+空白空间+已删除邮箱保留Dumpster。
3.当我们知道了单个邮箱的实际大小之后,我们可以基于下面的邮箱存储数据库最大推荐尺寸来推算出每个邮箱存储数据库可以存放的最大邮箱数目。
•不使用连续复制时邮箱服务器上驻留的数据库:100 GB
•使用连续复制时邮箱服务器上驻留的数据库:200 GB
7.如何在Exchange中实现批量管理?
注意:错误地执行了下列的步骤将会对您的环境造成严重的影响。因此,请先在实验环境中熟悉下列内容;在生产环境中进行操作之前,将重要数据备份。
1.问题:如何将联系人转为用户邮箱?(Exchange 2003|Exchange 2007)
答:将所有联系人信息导入CSV文件进行编辑,然后批量导入以创建邮箱
a.将所有联系人信息导入CSV文件
Csvde –r objectclass=contact –f c:\contact.csv
b.将用户帐户属性导入另一个CSV文件作为参考
Csvde –r objectclass=user –f c:\user.csv
c.使用Excel打开user.csv文件,去除不需要的列,只剩下下面所给出的列:
DN|objectClass|cn|distinguishedName|displayName|homeMTA|proxyAddresses|homeMDB|mDBUseDefaults|mailNickname|name|sAMAccountName|showInAddressBook|legacyExchangeDN|mail|msExchHomeServerName|givenName|userPrincipalName|sn|userAccountControl
d.现在,我们联系人信息从contact.csv文件里复制/粘贴到user.csv文件中,对于那些contact.csv文件中不存在的列,请参考user.csv中列的数值来填写
注意:请同时降低密码的最大长度和复杂度,因为在批量导入帐户时是不能包含密码的
e.导入修改后的user.csv文件
Csvde –I –f c:\userchanged.csv
f.在Active Directory 用户和计算机中检查新创建的用户帐户
2.问题:如何在通讯组中批量添加用户?(Exchange 2007)
答:将用户数据导入TXT文件,然后使用命令Import-Csv来导入通讯组
a.导出数据
Csvde -r objectclass=user -l "Name" -f C:\addmember.txt
b.用Exchange 管理外壳(EMS)来将用户导入通讯组
Import-csv C:\addmember.txt | foreach {add-distributiongroupmember 通讯组名字 -member $_.Name}
登录到投票
8.使用Outlook Anywhere 的时候如何保存密码?
当我们使用Outlook Anywhere时, 如果用的是基本身份验证, 在Outlook 客户端登录时, 密码提示框将会弹出. 解决的办法就是在客户端和服务器端都使用集成Windows身份验证.
如果问题仍然存在, 我们需要按照下面的步骤来保存密码:
a. 在开始运行里输入control userpasswords2
b. 高级选项, 点管理密码
c. 请输入:
登录到: *.domainname (例如: *.microsoft.com)
用户名: domain\username
密码: password
输入完毕后,请重新登陆客户端, 检查一下问题是否仍然出现.
9.自动发现服务是如何让Outlook 2007自动连接到Exchange 服务器?
Outlook 2007 是自动发现服务的主要使用者, 在我们第一次配置用户文件时, 可以自动获取服务器的名字和地址而不需要手动去输入. 在未来的时间里, 如果有任何组织内的邮箱服务器的变更, Outlook 2007 可以自动随之改变,而不影响工作中的使用.
Outlook 2007 如何使用自动发现服务器来自动的链接到邮箱服务武器
对于域内用户来说, 当第一次创建用户配置文件时, 有一个基本用户信息的对话框弹出, 用户的邮件地址已经显示在上面. 这个是靠Outlook 2007去查询活动目录而得到的. 请注意,这个并不是自动发现服务. 而是Outlook 2007 独有的功能, 我们可以在注册表去改动这个值. 随后的过程, Outlook 会去联系自动发现服务以便能得到更多信息, 例如外出信息, 脱机地址,忙闲信息等等.
对于域外用户来说, 当我们通过Outlook Anywhere连接到邮箱服务器时, 邮件地址和密码是需要手工输入的. 接着, 其他信息是有自动发现服务来完成的.
10.Outlook 2007 如何与老版本的邮箱服务器共存使用, 例如 Exchange 2003?
在一个没有Exchange 2007的环境中, Outlook 2007 仍然会去尝试通过自动发现服务来配置相关信息, 失败的话, Outlook 会用AD中的邮箱服务器属性来配置. 基本过程如下:
1. 如果是域内的话, 自动从活动目录中获取邮件地址
2. 获取邮箱服务器名
3. 根据用户的邮件地址来找寻SCP对象联系自动发现服务.
4. 如果上面的尝试失败, 会到DNS 服务器里找寻相关记录
a. HTTPS POST: https://DOMAIN/autodiscover/autodiscover.xml
b. HTTPS POST: https://autodiscover.DOMAIN/autodiscover/autodiscover.xml
c. HTTP GET: http://autodiscover.DOMAIN/autodiscover/autodiscover.xml
d. DNS SRV lookup: _autodiscover._tcp.DOMAIN
5. 如果以上尝试也是失败, 将会去尝试本地的XML文件
6. 如果也是失败, 会根据步骤2的结果来配置用户信息.
11.Outlook 2007是如何找到自动发现服务的?
两种方法: 服务器连接点 (SCP)和DNS (两个已经定义的地址, HTTP redirection 和SRV)
12.证书和自动发现服务之间有什么联系?
当Outlook通过SCP或者DNS来联系自动发现服务时, 它必须通过证书来处理. 证书可以是一个自签名的证书或者是一个三方的证书.
对于域内用户来说, 如果Outlook 2007是通过SCP的方法联系到自动发现服务且证书是一个自签名的证书, Outlook仍然 会认为这个是一个安全的证书从而忽略证书弹出的信息. 如果是名字不匹配, 仍然会弹出来.
对于域外用户来说, Outlook 通过DNS来找到自动发现服务. 这就要求证书必须是被信任的, 否则Outlook将无法通过Outlook Anywhere连接到邮箱服务器上。
有关更多的信息,请参考下面的链接:
http://msexchangeteam.com/archive/2007/04/30/438249.aspx
13. 如何在Outlook中更新GAL?
1.打开Outlook.
2.同时按住CRTL键,然后在电脑的右下角的task bar中右键点击outlook的图标。
3.选择“Test-Email AutoConfiguration”.
4.在跳出的窗口中填写你的邮件地址和账户密码。
5.同时在下面的复选框上打勾。
6.点击“Test”,然后等待检查错误日志。
然后请检查所有在IIS管理器虚拟目录上的验证方式。
1./EWS: 集中认证(integrated authentication)
2./Autodiscover: 基本和集中认证(basic and integrated authentication)
3./OAB: 集中认证(integrated authentication)
如何更新全局地址列表
http://technet.microsoft.com/zh-cn/library/bb266966.aspx
如果你可以在Exchange管理控制台看到更新的GAL,在OWA中也可以看到更新的GAL,但是我们不能在Outlook中看到更新,这是为什么呢?
这是一个正常的现象。OWA是使用LDAP查询,这就是为什么它立即显示了更新的显示名称(立即更新是基于在一台DC的情况下。如果是多台DC,那么存在一个复制的情况,至少15分钟时间) 。而Outlook则使用NSPI查询 。 NSPI将不会反映这些变化,直到hierarchy表重建。默认情况下,这是每720分钟更新一次( 12小时) 。您可以把相应的键值尝更改为1 。
注意:
1.在DC上相关的属性 是 NTDS\Parameters\Hierarchy Table Recalculation interval (minutes).
2.请在更改前做好相应的备份。
3.当你可以看到更新后的GAL后,请把hierarchy表上的Recalculation interval值恢复为720分钟。
14.如何处理OWA 中大型GAL瘫痪的问题?
当你在OWA上的GAL上搜索一个联系人时,他有可能产生瘫痪的问题。这是因为MaxTempTableSize的默认值是1000年。因此,我们需要改变MaxTempTableSize的使他高于10000。之后,我们需要改变msExchQueryBaseDN 上的值。
MaxTempTableSize虽然查询处理,数据库层可能会尝试创建一个临时数据库表进行排序和选择的中间结果。该MaxTempTableSize限制控制这一临时数据库表的大小。
msExchQueryBaseDN的机制是用来限制某些用户只能在OWA看到地址簿。 msExchQueryBaseDN是在Active Directory用户对象和指向的地址列表(AL)或组织单元( OU ) 。这个AL将被用来作为全球通讯簿( GAL)的用户,用户将看到一个只包括这个OU用户帐户的GAL。您可以使用LDAP来设置msExchQueryBaseDN
如何查看以及 Active Directory 中的通过使用 Ntdsutil.exe 组 LDAP 策略
http://support.microsoft.com/kb/315071/zh-cn
如何限制 OWA 地址搜索多个组织单位
http://support.microsoft.com/kb/817218/zh-cn
15.OWA 中如何设置语言?
在Exchange 2007 以前,Http header定义了OWA中的语言,所以语言设置是在客户端摄制的。对于Exchange 2007,我们则可以在服务器端使用set-mailbox -identity "mailbox" -language "fr-FR"设置OWA的语言。
Language setup for a mailbox with Exchange Server 2007
http://msexchangeteam.com/archive/2009/01/28/450532.aspx
如何管理 Exchange Server 2003 中的 Outlook Web Access 功能
http://support.microsoft.com/kb/830827/zh-cn
如何特殊文件夹名称被分配在 Outlook Web Access (OWA) 中
http://support.microsoft.com/kb/325626/zh-cn
16. Exchange 服务器邮件路由中常用的邮件属性有哪些?
legacyExchangeDn: 该属性是唯一旧版可分辨的名称用于标识您的邮箱。 此属性主要用于向后兼容性目的邮件应用程序编程接口 (MAPI) 客户端,例如/o=org/ou=site/cn=recipients/cn=gyip。
proxyAddresses: 包含可以接收邮件的所有电子邮件地址的一个多值的属性。 此属性的格式是 PREFIX: 其中 PREFIX 为 SMTP X400,GWISE 或 NOTES,例如 SMTP:[email protected] 代理。
targetAddress: 该属性是您要重定向邮件电子邮件地址。 此属性的格式类似, proxyAddresses 属性在定义地址类型,例如"SMTP:[email protected]"的前缀。
17. legacyExchangeDN属性和proxyAddress属性在Exchange做邮件处理时是如何应用的?
a. 当邮件从SMTP客户端提交的时候,SMTP地址被用来提交这封邮件。在Exchange服务器处理这封邮件时,发件人和收件人通过proxyAddress属性被解析。比如说,如果收件人的SMTP域被定义为权威域但是收件人的SMTP没有在任何用户对象的proxyAddress属性中被找到,那么Exchange就认为该用户不存在。那么,一封NDR邮件就被产生并通知发件人用户不存在。相对的,当邮件发给一个外部收件人,然而,有一个内部用户的ProxyAddress属性中有这个外部收件人的SMTP地址,那么这封邮件就会被发给内部用户而不是外部用户了。
b. 当邮件是通过MAPI客户端(Outlook)提交时,收件人的legacyExchangeDN属性被用来提交邮件(如果收件人是一个内部用户)。所以如果收件人的legacyExchangeDn属性没有被AD用户对象中找到,那么Exchange认为该用户不存在,一封NDR邮件会被生成去通知发件人。这个问题可能在下面这个情况下产生:
1)如果你把一个邮箱从一个组织迁移到另外一个组织时,当发件人回复一封在迁移之前就存在的老的邮件时,Outlook客户端会使用老的邮件PR_SENDER_EMAIL_ADDRESS属性作为这封邮件的收件人地址。而因为收件人也从原来的组织迁移过来,他有一个新的legacyExchangeDN属性,那么Exchange无法把PR_SENDER_EMAIL_ADDRESS与这个新的LegacyExchangeDN相匹配。所以Exchange认为这个收件人不存在。而如果你通过全球地址簿选择这个收件人的话,你就不会遇到这个问题。
2)如果当你发送一封信的邮件依然遇到收件人不存在的问题时,你需要去查看NK2(Outlook Autocomplete)文件和脱机地址簿文件。因为这两个文件是用来提交收件人的legacyExchangeDN的。你可以通过重命名NK2文件和让Outlook工作在在线模式去解决这个问题。
一些相关信息:
AutoComplete
http://office.microsoft.com/en-us/outlook/CH010496931033.aspx
About Cached Exchange Mode
http://office.microsoft.com/en-us/outlook/HP010000671033.aspx
18.什么时候使用targetAddress属性?
像我在前文中提到的,targetAddress属性是用来重定向邮件的。targetAddress属性可以在两个邮件系统共享一个SMTP域中使用。比如说:
公司A和B需要共享一个SMTP域 “domain.com”. 那么公司A需要发送一些收件人是”domain.com”的邮件到公司B的邮件系统中。根据以前的描述,当domain.com被设置为公司A邮件系统的权威域时,如果收件人不能在所有用户对象的ProxyAddress属性中被找到,那么信不会被再次投递出去,而是生成一封NDR邮件通知发件人该收件人不存在。
当遇到这种情况是,我们可以在公司A上为公司B上的收件人建一些联系人,比如:
targetAddress: [email protected]
proxyAddress: [email protected], [email protected]
当外部用户发送一封邮件给[email protected]地址时,公司A的Exchange服务器会把收件人解析成[email protected]。然后可以建议一个SMTP(Send)connector把发给test.com域的信都发送到CompanyB的邮件服务器上。
19. Exchange数据库文件的在线碎片整理和线下碎片整理有什么区别?
在线碎片整理:
•数据库可以正常运行。
•作为数据库维护的一部分,自动的进行。
•检测与删除数据库中不需要的内容,但是不会改变数据库文件的大小。
线下碎片整理:
•首先必须卸除数据库。
•通过手动运行Eseutil /d 命令来执行。
•检测与删除数据库中不需要的内容,减小数据库文件的大小。
20. 通过线下碎片整理我可以获得多少磁盘空间?
1. 您可以检查事务日志中最近发生的编号为1221的日志。
Event ID: 1221 - The database name has amount megabytes of free space after online
2. 还可以通过命令行的方式。请先卸除数据库,然后运行ESEUTIL.EXE /MS databasename, 它会提供一份更详细的可回收空间的报告。
21. 如何去解决数据库文件不能加载的问题?
1. 如果所有的存储都不能够加载,请先检查以下服务是否是启动状态。
Microsoft Exchange Information Store
Microsoft Exchange System Attendant
随后请检查是否有基于文件的防病毒软件在对Exchange服务器的程序和数据库文件进行扫描。请禁用这些反病毒软件然后检查是否问题仍然存在。在同时,您也可以新建一个数据存储,看看它是否能正常的加载。
2. 如果是一个特定的存储不能加载。 首先请检查您的Exchange是否是标准版的,Exchange标准版的数据存储的上限是16GB, 当达到这个上限,存储就会被卸除。请参见KB 828070获取更多的信息。
请根据KB 314917来检查在事务日志中是否存在-1028或者-1022的错误,它通常说明物理存储可能会存在问题。
请使用命令ESEUTIL /MH来检查数据存储是否是关闭在连续的状态。如果数据库在不连续的状态下被关闭,是不能被正常加载的。这种情况下,您必须重播至少一个的事务日志文件来使数据库恢复到连续的状态。
请用命令ESEUTIL /G来检查数据库的完整性,此命令将在底层检查数据库的完整性。