1.什么是监控邮箱?
Exchange Server 2013引入了一项称为管理可用性的新功能,该功能是一种具有自我恢复功能的内置监控系统。托管可用性可用来模拟最终用户操作的连续测试,以检测Exchange组件或其依赖项的可能问题。如果测试失败,它会执行渐进的简单恢复操作,以使受影响的组件处于健康状态。它使用特殊类型的邮箱(称为监控邮箱或健康邮箱)来模拟最终用户的各种测试。
监控邮箱的生命周期完全由托管可用性组件完成。
2.监控邮箱:
管理可用性的功能由在每个Exchange Server 2013角色上运行的Microsoft Exchange运行状况管理器服务实现。
Microsoft Exchange Health Manager服务负责创建和维护监视邮箱
我们来看下Health Manager如何创建它们!
3.如何创建监控邮箱:
MS Exchange Health Manager服务在两个进程中运行,MSExchangeHMHost.exe和MSExchangeHMWorker.exe。
HM工作进程在启动时检查监视邮箱的可用性,并根据需要创建监视邮箱。
从Exchange Server 2013 CU1开始,将在域Exchange服务器所在的以下容器下创建监视邮箱的帐户:
<ADdomain> \ Microsoft Exchange系统对象\监控邮箱
HM工作进程用于检测和创建监视邮箱的逻辑,取决于安装的Exchange累积更新版本(CU)。
以下逻辑适用于在RTM到累积更新CU5之间的Exchange Server 2013服务器创建监视邮箱:
每个邮箱数据库副本有一个监视邮箱,以及所有CAS服务器的一个监视邮箱。 以下是监视在托管CAS和邮箱角色的Exchange Server 2013 SP1服务器上创建的邮箱的示例:
[PS] C:> Get-Mailbox -Monitoring | ft displayname,whencreated
DisplayName WhenCreated
HealthMailbox b285a119be6649b3a89574f078e947f5 11/10/2014 9:07:29 AM HealthMailbox 60d8a8d1285e41bfa5ce1ef1fb93d14e 11/10/2014 9:上午07:36
数据库创建的监视邮箱的显示名称,包含邮箱数据库的GUID。 CAS服务器创建的监视邮箱的显示名称,包含为其Exchange服务器的GUID。 以下逻辑用于为Exchange Server 2013累积更新CU6及更高版本创建监视邮箱: 在邮箱角色上的每个邮箱数据库有一个监视邮箱,以及每个CAS服务器有十个监视邮箱。 以下命名约定用于为数据库创建的监视邮箱的显示名称:
“HealthMailbox-”+服务器的主机名+“ - ”+数据库名称。
在启动时,HM进程检查服务器上存在的数据库的名称,然后检查是否存在具有显示名称的监视邮箱,如上所述。如果找不到特定数据库的监视邮箱,则会创建新的监视邮箱。这意味着,如果将DB1重命名为DB2,HM worker将在下次启动时为DB2创建新的监视邮箱。
以下命名约定用于为CAS服务器创建的监视邮箱的显示名称:
“HealthMailbox-”+ CAS服务器的主机名+“ - 001”到“010”。
比如说我们只有一台运行Exchange 2013 CU6或更新版本的Exchange服务器(服务器名为EXCH1)同时承载CAS和邮箱角色,并且只有一个邮箱数据库,将创建11个监控邮箱。
4.密码重置
HM 工作进程负责维护Monitoring邮箱的密码。HM工作进程使用复杂算法生成用于监视邮箱的密码。
监视邮箱的密码在以下条件下重置:
正在创建新的运行状况邮箱
- 每次HM工作进程启动并且无法检索监视邮箱的现有密码
- HM 工作进程无法获取监视邮箱的现有密码的任何其他方案
5.最佳做法
以下是有关管理与监控邮箱以及邮箱本身相关联的用户帐户的一些最佳做法:
- 不要将第三方自定义密码策略应用于监控邮箱的用户帐户
- 从用户帐户锁定策略中排除监控邮箱
- 不要将用户帐户从Monitoring Mailboxes容器中移出
- 不要更改用户帐户属性,例如限制密码更改等。
- 不要更改AD权限继承
- 不要在邮箱数据库之间移动监视邮箱
- 不要将邮箱配额应用于监视邮箱
- 如果应用保留策略,请确保在删除监视邮箱中的数据至少保留30天 如果您看到特定监视邮箱的邮箱大小显着增加; 您只需禁用特定邮箱即可。HM工作进程将在下次启动时创建一个新邮箱。
6.监控邮箱的常见任务
如何列出监控邮箱 Get-Mailbox命令提供了特殊参数“-Monitoring”以仅列出监视邮箱。 例如:
列出组织中存在的所有监视邮箱:
Get-Mailbox -Monitoring
列出数据库中存在的监视邮箱:
Get-Mailbox -Monitoring -Database <数据库名称>
但是,上面列出的邮箱可能与对应的数据库的服务器无关。如创建逻辑中所述,客户端访问服务器或邮箱数据库的名称对于搜索关联的监视邮箱和创建监视邮箱非常重要。
使用以下命令列出与特定服务器关联的监视邮箱:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like“* - <servername> - *”}
例:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like“* -exch2- *”} | ft name,displayname,database
使用以下命令列出与特定数据库关联的监视邮箱:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like“* - <数据库名称>”}
例:
Get-Mailbox -Monitoring | ?{$ _.DisplayName -like“* -db2exch2”} | ft name,displayname,database,servername
7.故障排错
以下是一些用于监控邮箱的故障排错方法。
如何重新创建监控邮箱(不考虑定期维护!) 邮箱数据库删除不会清除与监控邮箱关联的AD用户帐户。这可能会导致单独的AD用户帐户。发生这种情况是因为监视邮箱容器上继承的拒绝权限。
如果有太多的单独的监视邮箱帐户,你可能需要重新创建它们。
步骤:
1)确保存在“监控邮箱”容器
打开Active Directory用户和计算机 单击“查看”并选择“高级功能” 浏览到Microsoft Exchange系统对象 验证是否存在“Monitoring Mailboxes”容器。 例: 如果缺少Monitoring Mailboxes容器:
确保安装了Exchange Server 2013 CU1或更高版本。 在安装了Exchange Server 2013版本的情况下执行PrepareAD以便重新扩展架构。 2)在所有Exchange Server 2013服务器上停止“Microsoft Exchange Server Health Manager”服务。
3)打开Exchange命令行管理程序并使用以下命令禁用现有的健康邮箱:
Get-Mailbox -Monitoring | Disable-Mailbox
4)返回Active Directory用户和计算机,右键单击域并搜索“HealthMailbox” 5)删除健康邮箱用户帐户。
6)等待AD复制或强制AD复制。
7)在所有Exchange Server 2013服务器上启动“Microsoft Exchange Server Health Manager”。