none
「すべての会議室」アドレスリストを削除するとOWAでアドレス帳エラーとなる。 RRS feed

  • 質問

  • いつも、本フォーラムでは勉強させてもらっています。ありがとうございます。

    現在、以下の環境で検証を行っています。

    ・WindowsServer2008 Std - Exchange2007 SP2 Ent

    ・WindowsServer2003R2 Ent - Exchange2010 SP1 Ent

    いわゆる、Ex2007からEx2010への移行に向けた検証です。

    状態としては、Ex2007組織にEx2010をインストールし、各サーバのユーザー間

    でメール送受信ができるところまで進めています。

    *****事象*****

    ・アドレス一覧から「すべての会議室」を削除すると、2010のOWA接続で、アドレス帳が利用できなく

     なります。

    ・上記アドレス帳のOriginatingServerで削除処理を行いました。

    ・2010のOWAで表示されるエラーは以下の通りです(アドレス帳が出るべきウィンドウに表示されます)。

    Request
    Url: https://ex2010:443/owa/forms/premium/AddressBook.aspx?ae=Dialog&t=AddressBook&a=PickRecipients
    User host address: *.*.*.* (伏字)
    User: テスト 6
    EX Address: /o=TestOrg/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user50342c66
    SMTP Address: t0011@mx.exchange.local
    OWA version: 14.1.218.13
    Mailbox server: ex2010.exchange.local

    Exception
    Exception type: System.NullReferenceException
    Exception message: オブジェクト参照がオブジェクト インスタンスに設定されていません。

    Call stack

    場所 Microsoft.Exchange.Data.Directory.SystemConfiguration.AddressBookBase.GetAllRoomsAddressList(ClientSecurityContext clientSecurityContext, ADSystemConfigurationSession configurationSession) 場所 Microsoft.Exchange.Clients.Owa.Core.UserContext.get_AllRoomsAddressList() 場所 Microsoft.Exchange.Clients.Owa.Core.Directory.DirectoryAssistance.GetAllRoomsAddressBookInfo(UserContext userContext) 場所 Microsoft.Exchange.Clients.Owa.Core.UserContext.get_AllRoomsAddressBookInfo() 場所 Microsoft.Exchange.Clients.Owa.Premium.Controls.SecondaryNavigationDirectoryList.CreateCondensedDirectoryList(UserContext userContext, Boolean isRoomPicker) 場所 Microsoft.Exchange.Clients.Owa.Premium.DirectoryView.RenderSecondaryNavigation(TextWriter output, UserContext userContext, Boolean isRoomPicker) 場所 Microsoft.Exchange.Clients.Owa.Premium.Controls.NavigationHost.RenderSecondaryNavigation(TextWriter output, Boolean showContacts) 場所 ASP.forms_premium_addressbook_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) 場所 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) 場所 System.Web.UI.Page.Render(HtmlTextWriter writer) 場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    ・ADSIエディタで、各ユーザーのOWAで利用するアドレス帳をGAL等に直接指定すると問題が解消され

     るようですが、これだと根本解決にならないと思います。

    ・他のビルトインアドレスリスト(すべてのグループ等)の削除では、本エラーはでません。

     

    どなたか、本エラーの対処方法、原因等がわかりましたら教えてください。

    よろしくお願いします。

     

    2010年9月17日 9:14

回答

  • 駆け出し管理者さん、追加の情報ありがとうございます。

    Exchange Server 2010 SP1 の環境で「すべての会議室」アドレスリストを削除したところ、
    駆け出し管理者さんの事象と同様にOWAでアドレス帳を表示できずにエラーとなりました。

    調べてみたところ、「すべての会議室」は組織の構成のmsExchResourceAddressLists 属性に設定されており、削除した「すべての会議室」を復元すればエラーを解消できるという情報を見つけました。
    (削除してはいけなかったのですね。。。)

    ---------

    (参考情報)
    ・IT-Professional.AT
    http://it-professional.at/?p=5

    New-AddressList コマンドレットで「すべての会議室」アドレスリストを作成して、その属性の値を
    ADSIEdit で組織の構成のmsExchResourceAddressLists 属性に設定します。
    ---------

    こちらの情報が参考になりましたら幸いです。


    マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2010年9月22日 5:14

すべての返信

  • 駆け出し管理者 さん、こんにちは。
    フォーラム オペレーターの星 睦美です。

    Exchange 2007 と Exchange 2010 が共存する環境では、Exchange 2010 はExchange 2007 にメールボックスをもつユーザーにはExchange 2007 を参照させます。Exchange 2007 側のアドレスリストの削除を行ったのでExchange 2007 にメールボックスをもつユーザーから参照できなくなってしまったのではないかと思います。

    Exchange 2007 と Exchange 2010 の共存に関してのTechNet ライブラリのページを紹介します。

    ・Exchange 2007 - Planning Roadmap for Upgrade and Coexistence:

    こちらの情報が参考になりましたら幸いです。


    マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2010年9月21日 2:28
  • 星様

    駆け出し管理者です。ご返答ありがとうございます。

    また、情報のご提供、ありがとうございます。

    ご指摘のURLを確認させていただいたのですが、私が必要としている情報がなかったように

    見受けられました。

    また、こちらの情報が不足していましたので、追記させていただきます。

    (星様からご指摘のあった、「登録サーバの違いによるエラー」ではなさそうです。)

    情報不足の質問を出してしまい、申し訳ありません。

    **********2010/09/21追記****************

    【登録ユーザー情報】

    ・Ex2007にメールボックスのあるユーザー:テスト 1

    ・Ex2010にメールボックスのあるユーザー:テスト 6

    【アドレスリストとエラーの状況について】

    1.Ex2007単体時に、ビルドインのアドレスリスト(すべての会議室含む)は削除しています。

    2.この時点では、テスト1のOWAでエラーはでません(Ex2007にアクセス)。

    3.Ex2010を組織にインストールしたところ、ビルドインアドレスリスト(すべての会議室含む)が

     再度作成されます。

     また、管理コンソールや管理コマンドで確認したところ、アドレスリストはサーバ個々に個別の

     ものがあるのではなく、Exchange組織に共通のものだと思われます。

     (ただし、Get-AddressList | format-list で取得したOriginatingServerはEx2007のサーバ。)

    4.上記の状態(削除しない状態)で、以下のテストを実施。

     ・テスト1でEx2007にOWA接続:宛先選択時のエラーはなし。

     ・テスト6でEx2010にOWA接続:宛先選択時のエラーはなし。

    5.ビルドインアドレスリストは利用しないので、一つずつ削除。削除操作はOriginatingServerの

      Ex2007の管理コンソールから実施。

     1)すべての会議室を除いたアドレスリストの削除(1アドレスリストずつ削除してテストを実施)

     ・テスト1でEx2007にOWA接続:宛先選択時のエラーはなし。

     ・テスト6でEx2010にOWA接続:宛先選択時のエラーはなし。

     2)すべての会議室を削除

     ・テスト1でEx2007にOWA接続:宛先選択時のエラーはなし。

     ・テスト6でEx2010にOWA接続:宛先選択時にエラー発生。

    6.Ex2010SP1が提供されていたので、Ex2010にSP1を適用。

     ・再度ビルドインアドレスリストが生成される。

    7.4項、5項の作業とテストを実施したところ、やはり、「すべての会議室を削除すると、

     Ex2010のほうでエラーが発生する」。

     

    という流れになっています。

    発生するエラーはすべて同じで、以下のものです。

    Request
    Url: https://ex2010:443/owa/forms/premium/AddressBook.aspx?ae=Dialog&t=AddressBook&a=PickRecipients
    User host address: *.*.*.* (伏字)
    User: テスト 6
    EX Address: /o=TestOrg/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=user50342c66
    SMTP Address: t0011@mx.exchange.local
    OWA version: 14.1.218.13
    Mailbox server: ex2010.exchange.local

    Exception
    Exception type: System.NullReferenceException
    Exception message: オブジェクト参照がオブジェクト インスタンスに設定されていません。

    Call stack

    場所 Microsoft.Exchange.Data.Directory.SystemConfiguration.AddressBookBase.GetAllRoomsAddressList(ClientSecurityContext clientSecurityContext, ADSystemConfigurationSession configurationSession) 場所 Microsoft.Exchange.Clients.Owa.Core.UserContext.get_AllRoomsAddressList() 場所 Microsoft.Exchange.Clients.Owa.Core.Directory.DirectoryAssistance.GetAllRoomsAddressBookInfo(UserContext userContext) 場所 Microsoft.Exchange.Clients.Owa.Core.UserContext.get_AllRoomsAddressBookInfo() 場所 Microsoft.Exchange.Clients.Owa.Premium.Controls.SecondaryNavigationDirectoryList.CreateCondensedDirectoryList(UserContext userContext, Boolean isRoomPicker) 場所 Microsoft.Exchange.Clients.Owa.Premium.DirectoryView.RenderSecondaryNavigation(TextWriter output, UserContext userContext, Boolean isRoomPicker) 場所 Microsoft.Exchange.Clients.Owa.Premium.Controls.NavigationHost.RenderSecondaryNavigation(TextWriter output, Boolean showContacts) 場所 ASP.forms_premium_addressbook_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) 場所 System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children) 場所 System.Web.UI.Page.Render(HtmlTextWriter writer) 場所 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

    個人的には、OWA2010の宛先選択アクションの処理において、存在しないはずのアドレスリストをなぜか、

    確認に行き、エラーとなっているように思えます。

    (OWA2007では発生していない)

    Ex2010だけの環境で、本事象が発生するかは確認できていませんが、このままだと問題がある

    ため、どなたか回避方法をおしえていただければと思います。

    私の情報収取不足が原因かもしれませんが、その場合は申し訳ありませんが、参考URL等を

    ご指摘いただければと思います。

    よろしくお願いします。

    2010年9月21日 3:22
  • 駆け出し管理者さん、追加の情報ありがとうございます。

    Exchange Server 2010 SP1 の環境で「すべての会議室」アドレスリストを削除したところ、
    駆け出し管理者さんの事象と同様にOWAでアドレス帳を表示できずにエラーとなりました。

    調べてみたところ、「すべての会議室」は組織の構成のmsExchResourceAddressLists 属性に設定されており、削除した「すべての会議室」を復元すればエラーを解消できるという情報を見つけました。
    (削除してはいけなかったのですね。。。)

    ---------

    (参考情報)
    ・IT-Professional.AT
    http://it-professional.at/?p=5

    New-AddressList コマンドレットで「すべての会議室」アドレスリストを作成して、その属性の値を
    ADSIEdit で組織の構成のmsExchResourceAddressLists 属性に設定します。
    ---------

    こちらの情報が参考になりましたら幸いです。


    マイクロソフト株式会社 フォーラム オペレーター 星 睦美
    2010年9月22日 5:14
  • 星様

    駆け出し管理です。

    情報提供ありがとうございます。

    実は、私もADSIエディターで、msExchResourceAddressListsを見つけ、

    この値が「削除したはずのアドレスリストの値」になっていることを確認したため、

    「空白」にして、エラーが発生しなくなったことを先ほど確認したところでした。

    そこで、この結果を投稿させてもらおうとこちらを除くと、ちょうど星様からの回答もあり、

    「ホッ」としたところです。

     

    Ex2007とEx2010のOWAで挙動が異なることについては、やはりバージョン違い

    による細かな違いなんだと思います。あと、正規手順で削除しているので、AD上の

    オブジェクトも消えてほしいところですが、このあたりは修正パッチに期待して。。。

     

    私どもの運用では、「すべての会議室」は利用する予定がないため、「空白」か「GAL」を

    設定する方向で行きたいと思います。

    何かとご尽力いただきありがとうございました。

    2010年9月22日 5:46