在日常运行 Exchange 服务时,经常会遇到一些奇怪的问题,记录下来方便以后排除
# HTTP 500
故障问题:可以正常访问 Exchange OWA 地址,登录显示 HTTP 状态码 500
# 处理方法
尝试过重启 IIS 服务器和 Exchange 服务,故障依然存在,打开 Exchange Management Shell 提示连接到远程服务器失败
经过检查发现 DC-1 这台域控制器上的时间不正确,用管理员权限打开 CMD,重启 w32time 服务,让其自动同步时间
域控制器上的时间恢复正常后,回到 Exchange 服务器,重启 IIS 服务器和 Microsoft Exchange Service 主机服务,重启服务后如果还是一样的报错,请重启 Exchange 服务器
# 登录 OWA 发生错误
故障问题: Exhcanghe 服务器因为异常无法正常启动,在 DC 上用 ADSI 编辑器删除了配置里相关的 Exchange 信息,并重装了 Exchange 服务器,安装好 Exchange 服务后,用管理员登录 OWA 报错,登录 ECP 管理中心正常
# 处理方法
打开 Exchange Management Shell 输入以下命令查看对应用户的 mailbox 状态
Get-MailboxStatistics -identity administrator |
从报错中可以得知对象 administrator 中缺少重要属性 Database,经过百度发现 Database 属性是在用户属性中的 homeMDB 值里
打开用户和计算机,在查看选项中勾上高级功能,然后在用户属性编辑器中查找 homeMDB 属性
发现 administrator 属性中没有 homeMDB 属性,难怪访问邮箱会报错了
先登录 ECP 管理中心,添加一个新的邮箱用户,然后在新的邮箱用户属性中找到 homeMDB 属性,并把值复制下来
然后创建一个 Power Shell 脚本,把 homeMDB 属性加到 administrator 的属性中,脚本代码如下
#requires -Version 1 -Modules ActiveDirectory | |
# create an empty hash table | |
$custom = @{} | |
# add the attribute names and values | |
$custom.ExtensionAttribute3 = 12 | |
$custom.ExtensionAttribute4 = 'Hello' | |
# assign the attributes to your current user object | |
$user = $env:USERNAME | |
Set-ADUser -Identity $user -Add $custom |
NOTE:
代码需要根据自己的需要修改对应的属性名和值,不能直接用哦
执行结果如下:
运行中没有任何报错,再次打开 administrator 的属性查看发现 homeMDB 属性已经成功添加进去了
重新在 Exchange Management Shell 查看 administrator 的 mailbox 状态正常,并且登录 OWA 正常