exchange修改用户邮箱容量限制,并使其立即生效。

背景

公司某高管exchange邮箱容量达到上限了,为了不影响他的正常工作,临时做了容量调整,但是调整生效时间需要2小时,这就比较尴尬了。

解决方法

出现该问题是因为 Microsoft Exchange 信息存储服务通过缓存的邮箱配置来强制使用邮箱大小限制。直到刷新了缓存后,配置更改才会生效。刷新缓存的邮箱信息的默认时间间隔是两个小时。
若要解决该问题,可以在注册表中修改 Microsoft Exchange 信息存储服务的“重读登录配额时间间隔”值,以此更改邮箱信息缓存的刷新间隔。“重读登录配额时间间隔”的值取决于目录服务访问 (DSAccess) 缓存和邮箱信息缓存。因此,必须同时配置 CacheTTLUser 和“邮箱缓存老化限制”的值。

这个是微软官方推荐的方法。
考虑到Exchange 服务器的性能,用户邮箱容量大小限制的信息是从服务器缓存里读取的,服务器缓存是每两个小时全部同步一次,这就会导致每次都改最多需要两个小时才能生效。通过修改注册表来修改缓存同步间隔,来达到更改容量快速生效的目的。

但是感觉修改注册表风险太大了,通过上面引用里的微软官方提供的解决办法,可以看到缓存同步是通过“信息存储”服务来控制的,那我们基本也可以确定通过重启“信息存储”服务来完成

要想根本上解决问题,还是改注册表吧。
官方文档链接

1、启动注册表编辑器并连接到要配置 Microsoft Exchange 信息存储服务的服务器的注册表。
2、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem 项。
3、若要配置刷新邮箱大小限制信息的时间间隔,请执行下列操作:
    1.右键单击 ParametersSystem,选择“新建”,然后选择“DWORD 值”。
    2.将新的 DWORD 值命名为“Reread Logon Quotas Interval”。
    3.右键单击“重读登录配额时间间隔”,然后单击“修改”。
    4.在“基数”选项下,单击“十进制”。
    5.在“数值数据”文本框中,输入一个正整数来指定邮箱信息缓存的刷新间隔(秒),然后单击“确定”。默认值为两个小时(7200 秒)。建议值为 20 分钟(1200 秒)。
4、若要更改邮箱信息缓存的老化限制值,请执行下列操作:
    1.右键单击 ParametersSystem,选择“新建”,然后选择“DWORD 值”。
    2.将新的 DWORD 值命名为“Mailbox Cache Age Limit”。
    3.右键单击“邮箱缓存老化限制”,然后单击“修改”。
    4.为“基数”选项单击“十进制”。
    5.在“数值数据”文本框中,输入一个正整数来指定邮箱信息缓存的老化限制(分钟),然后单击“确定”。默认值为两个小时(120 分钟)。
5、找到 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchange ADAccess\Instance0 项。如果该注册表项不存在,请使用下列步骤创建该项:
    1.右键单击 MSExchange ADAccess,选择“新建”,然后选择“项”。
    2.将新项命名为 Instance0。
6、若要配置 DSAccess 缓存刷新速率,请执行下列操作:
    1.右键单击 Instance0,选择“新建”,然后选择“DWORD 值”。
    2.将新的 DWORD 值命名为 CacheTTLUser。
    3.右键单击 CacheTTLUser,然后单击“修改”。
    4.为“基数”选项单击“十进制”。
    5.在“数值数据”文本框中,输入一个正整数来指定用户数据对象的缓存过期间隔(秒)。默认值为 5 分钟(300 秒)。
要点:减小该值会影响性能,因为 Exchange Server 将执行更多的 Active Directory 目录服务查找。
7、关闭注册表编辑器。
8、重新启动 Microsoft Exchange 信息存储服务。

PS:新建“WORD”值命名是英文名,不是中文名,很多文档直接粘贴不知从何而来的中文命名,无法实现。