我们正在使用 Exchange OWA 2010 SP3。当密码过期的用户尝试登录时,他们会被告知用户名或密码无效:
根据此 Technet 博客设置注册表项并重新启动 IIS 应该可以修复它:
- 在客户端访问服务器 (CAS) 上,单击开始 > 运行并键入 regedit.exe,然后单击确定。
- 导航到 HKLM\SYSTEM\CurrentControlSet\Services\MSExchange OWA。
- 右键单击 MSExchange OWA 键,然后单击新建 > DWord(32 位)。
- DWORD 值名称是 ChangeExpiredPasswordEnabled 并将值设置为 1。注意:接受的值是 1(或任何非零值)表示“已启用”或 0 或空白/不存在“已禁用”
- 配置此 DWORD 值后,您必须重置 IIS。重置 IIS 的推荐方法是在命令提示符下使用 IISReset /noforce。
这是当前在我的服务器中设置的方式:
ChangeExpiredPasswordEnabled 后没有空格,设置为 1 等。
之后,我从提升的命令提示符运行 IISreset /noforce。我什至重新启动了服务器。但是,当密码过期的用户尝试登录时,他仍然会收到“用户名或密码错误”错误消息。
我还查看了组策略以验证最小密码年龄是否设置为零。
我们有一个 Windows 2012 域控制器。
顺便说一句:它以前工作过,但今年早些时候只有几天。
Exchange 服务器上的 Windows 事件日志记录以下故障:
Failure Information:
Failure Reason: The specified account's password has expired.
Status: 0xC0000224
Sub Status: 0x0
在我的例子中,exppw 模块 (exppw.dll) 不包含在 IIS 的 OWA 模块中。直到今天,我一直在毫无乐趣地处理这个问题。碰巧我在 OWA 中检查 logon.aspx 并看到了 exppw.dll。所以我检查 IIS 是否注册了这个 dll。它已注册,但 OWA 虚拟目录不包含此模块。添加模块并回收 MSExchangeOWAAppPool 后,当我使用需要在下次登录时更改密码的帐户登录时出现 OWA 更改密码屏幕。
我没有改变任何东西。但是我今天又试了一次。现在它可以工作了。输入旧密码后,我被重定向到 /owa/auth/expiredpassword.aspx?url=/owa/auth.owa。
当我更改密码并在 AD 中设置“用户下次登录时必须更改密码”时,它仍然有效。
不知道为什么我一开始不工作,也不知道为什么现在可以工作......