当用户在 Exchange Server 2010: 400 错误的请求中访问“选项”页时出错

原始 KB 编号: 2971274

症状

当用户在 Microsoft Exchange Server 2010 中登录到 Outlook Web App (OWA) ,然后单击“选项”,然后单击“查看所有选项”时,用户可能会收到错误:“400 错误请求”。

原因

发生此错误的原因是用户在 Exchange Server 2010 中的邮箱上没有指定的时区值。 可以通过运行 Get-MailboxRegionalConfiguration -identity <username> cmdlet 来验证此值。

OWA 虚拟目录上可能仍存在旧配置。 在 Exchange Server 2007 中,管理员可以更改值,以便在用户首次尝试登录时不会提示用户输入语言或时区首选项。 例如,管理员可以将值 1033 设置为英语,如下所示:

Set-OWAVirtualdirectory "owa (Default Web Site)" -DefaultClientLanguage 1033 -LogonAndErrorLanguage 1033

当使用 0 (零) 以外的LogonAndErrorLanguage值配置 DefaultClientLanguage OWA 虚拟目录时,邮箱上的语言属性不会更新。 此外,如果未在 Exchange Server 2010 的区域配置中设置时区,则用户可能会收到症状部分中提到的错误。 Exchange 控制面板需要这些值才能正常工作。

尽管 Exchange Server 2010 虚拟目录仍接受这些 cmdlet,但这些 cmdlet 被视为旧设置。 因此,建议在 Exchange Server 2010 中使用 Set-MailboxRegionalConfiguration cmdlet。 例如:

Set-MailboxRegionalConfiguration -Identity <username> -Language en-us -TimeZone "Eastern Standard Time"

解决方法 1:为一个或多个用户设置时区值

  • 使用以下命令为用户设置时区值:

    Set-MailboxRegionalConfiguration -Identity <username> -Language en-us -TimeZone "Eastern Standard Time"
    
  • 使用以下命令为多个用户设置时区。 但是,这将仅将所有用户更改为特定时区。

    get-mailbox | Set-MailboxRegionalConfiguration -Timezone "Eastern Standard Time"
    

解决方法 2:将默认客户端语言和登录错误语言设置为 0

如果有多个受影响的用户,请使用以下命令在虚拟目录中将默认客户端语言和登录错误语言设置为 0。 但是,此值被视为旧属性。 尽管可以在 2010 Exchange Server 中使用,Set-MailboxRegionalConfiguration但首选:

Get-OWAVirtualdirectory "xcsicas1\OWA (Default Web Site)" |Set-OWAVirtualdirectory -DefaultClientLanguage 0 -LogonAndErrorLanguage 0

更多信息

如果尝试通过运行 Mailbox -Resultsize Unlimited | Get-MailboxRegionalConfiguration来验证用户是否没有时区,则标识属性的返回值将为 null 值。 这是 2010 Exchange Server 中的已知问题。 因此,仅当多个用户受到影响时,才应使用解决方法 2。