在尝试使用 Microsoft Office Outlook Web Access 登录 Microsoft Exchange Server 2007 时,您收到以下错误消息:
如果 Internet Information Services (IIS) 或 IIS 元数据库中存在权限问题或身份验证问题,就会出现此问题。
要解决此问题,请按照下列步骤操作。在执行完每个步骤后,请确定问题是否已得到解决。如果问题仍然存在,请继续执行下一个步骤。
步骤 1:删除并重新创建与 Outlook Web Access 相关的虚拟目录
要删除与 Outlook Web Access 相关的虚拟目录,请按照下列步骤操作:
- 启动 Exchange 命令行管理程序。
- 键入下面的命令。请在键入每个命令后按 Enter。
注意:这些命令区分大小写。- Remove-OwaVirtualDirectory "exchange (default web site)"
- Remove-OwaVirtualDirectory "public (default web site)"
- Remove-OwaVirtualDirectory "exchweb (default web site)"
- Remove-OwaVirtualDirectory "owa (default web site)"
要重新创建与 Outlook Web Access 相关的虚拟目录,请在 Exchange 命令行管理程序中键入下列命令。请在键入每个命令后按 Enter:
- New-OwaVirtualDirectory "exchange" -OwaVersion Exchange2003or2000 -VirtualDirectoryType Mailboxes -WebSiteName "Default Web Site"
- New-OwaVirtualDirectory "public" -OwaVersion Exchange2003or2000 -VirtualDirectoryType PublicFolders -WebSiteName "Default Web Site"
- New-OwaVirtualDirectory "exchweb" -OwaVersion Exchange2003or2000 -VirtualDirectoryType Exchweb -WebSiteName "Default Web Site"
- New-OwaVirtualDirectory -name "owa" -OwaVersion Exchange2007 -WebSiteName "Default Web Site"
步骤 2:重新同步密码
为下列帐户重新同步元数据库和 Active Directory 目录服务中的密码:
- IUSR_ComputerName
- IWAM_ComputerName
为此,请按照下列步骤操作:
- 启动一个命令提示符,然后使用 cd 命令更改到以下目录:
c:\inetpub\adminscripts
- 键入下面的命令,然后按 Enter:
notepad adsutil.vbs
- 找到下面的代码。
If (Attribute = True) then
IsSecureProperty = True
Else
IsSecureProperty = False
End If
- 在此代码中,将“IsSecureProperty”的值从“True”更改为“False”,然后保存对文件所做的更改。
重要说明:在按照步骤 1 到步骤 4 重新同步密码后,必须将第一个“IsSecureProperty”值更改回“True”,然后保存对文件所做的更改。 - 在命令提示符处,键入以下命令并按 Enter:
cscript adsutil.vbs get w3svc1\anonymoususerpass
将返回类似于以下内容的结果:Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft corporation 1996-2001. All rights reserved.
anonymoususerpass : (STRING) "HtV9o2w.18)@SY"
注意:运行此命令时可能会收到错误代码“-2147024893”。如果 Anonymoususerpass 属性是在所有网站的 w3svc 级别而不是特定网站级别 (w3svc1) 设置的,就会出现此问题。在这种情况下,请修改 get 命令,以指定 w3svc 级别。为此,请键入以下命令,然后按 Enter:cscript adsutil.vbs get w3svc\anonymoususerpass
- 复制返回结果中显示在引号之间的密码,然后使用此密码重置 IUSR_ComputerName 帐户的密码。
- 在命令提示符处,键入以下命令并按 Enter:
cscript adsutil.vbs get w3svc1\wamuserpass
将返回类似于以下内容的结果:Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft corporation 1996-2001. All rights reserved.
wamsuserpass : (STRING) "Tl&b9^1n9`7g*9"
注意:如果在运行此命令时收到错误代码“-2147024893”,请键入以下命令,然后按 Enter:cscript adsutil.vbs get w3svc\wamuserpass
- 复制结果中显示在引号之间的密码,然后使用此密码重置 IWAM_ComputerName 帐户的密码。
- 按照步骤 1 到步骤 3 操作,以查看 adsutil.vbs 文件中的“IsSecureProperty”条目。将第一个“IsSecureProperty”条目的值还原为“True”,然后保存对文件所做的更改。
步骤 3:从元数据库中的 ROOT 容器中删除 Anonymoususerpass 属性
要从元数据库中的 ROOT 容器中删除
Anonymoususerpass 属性,请按照下列步骤操作:
- 启动一个命令提示符,然后使用 cd 命令更改到以下目录:
c:\inetpub\adminscripts
- 键入下面的命令,然后按 Enter:
cscript adsutil.vbs find w3svc/anonymoususerpass
将返回类似于以下内容的结果:Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft corporation 1996-2001. All rights reserved.
Property anonymoususerpass found at:
w3svc
- 如果 Anonymoususerpass 属性是在 w3svc 和 w3svc/1/ROOT 级别设置的,请从 ROOT 级别删除该属性。为此,请键入以下命令,然后按 Enter:
cscript adsutil.vbs delete w3svc/1/ROOT/anonymoususername
- 重置 IIS。为此,请键入 iisreset,然后按 Enter。
注意:可能还需要重新启动客户端访问服务器 (CAS)。
步骤 4:验证是否为控件虚拟目录和 auth 虚拟目录启用了匿名身份验证
验证是否为 IIS 中 owa 虚拟目录下的控件虚拟目录启用了匿名身份验证。此外,还要验证是否为 IIS 中 owa 虚拟目录下的 auth 虚拟目录启用了匿名身份验证。为此,请按照下列步骤操作:
- 启动 Internet Information Services (IIS) 管理器 Microsoft 管理控制台 (MMC) 管理单元。
- 依次展开服务器名称、“网站”、“默认网站”和“owa”。
- 在“owa”下,右键单击“8.0.685.24”,然后单击“属性”。
注意:8.0.685.24 虚拟目录可能使用不同的版本号名称。这取决于所安装的 Exchange 2007 的版本。 - 单击“目录安全性”选项卡,然后单击“身份验证和访问控制”下的“编辑”。
-
单击以选中“启用匿名访问”复选框,然后单击以清除“用户访问需经过身份验证”下的所有复选框。
- 单击“确定”两次。
- 在“owa”下,右键单击“auth”,然后单击“属性”。
- 按照步骤 4 到步骤 6 为 auth 虚拟目录启用匿名身份验证,并禁用其他身份验证方法。
步骤 5:验证 IUSR_ComputerName 帐户的属性
如果使用域帐户进行匿名访问,请检查 IUSR_
ComputerName 帐户的帐户属性,以验证是否允许此帐户连接至 CAS 服务器。为此,请按照下列步骤操作:
注意:要确定用于匿名访问的帐户,请按照“步骤 4:验证是否为控件虚拟目录和 Auth 虚拟目录启用了匿名身份验证”中的步骤查看“身份验证方法”对话框的内容。
- 启动 Active Directory 用户和计算机工具。
- 找到“IUSR_ComputerName”帐户,右键单击该帐户,然后单击“属性”。
- 单击“帐户”选项卡,然后单击“登录到”。
- 如果选择了“所有计算机”选项,请单击“取消”,然后单击“确定”退出“IUSR_ComputerName 属性”对话框。
- 如果选择了“下列计算机”选项,请按照下列步骤操作:
- 验证 CAS 服务器是否出现在“计算机名称”列表中。如果 CAS 服务器未出现在此列表中,必须将其添加到此列表中。
- 单击“确定”两次,以保存更改并退出“IUSR_ComputerName 属性”对话框。
- 在 CAS 服务器上启动一个命令提示符。
- 键入 iisreset /noforce,然后按 Enter。