Dynamics CRM 2011 用 OrgDBOrgSettings ツールの案内

みなさん、こんにちは。

今回は Microsoft Dynamics CRM サーバーの設定変更に利用できる
ツールを紹介します。

OrgDBOrgSettings ツール

Microsoft Dynamics CRM で設定を変更する場合、いくつかの設定は
画面から行う事ができません。設置型の場合はレジストリを変更したり
PowerShell を利用してデータベースの値を変更できる設定もありますが、
オンライン環境ではそれらの変更もできませんでした。

OrgDBOrgSettings ツールを利用すると、オンラインの組織に対しても
一部の設定が変更可能となります。以下の技術情報に詳細がありますが
英語のみ公開されているため、こちらの記事で重要な部分を日本語にて
紹介します。もちろん設置型でも利用可能です。

技術情報
OrgDBOrgSettings Tool for Microsoft Dynamics CRM 2011
https://support.microsoft.com/kb/2691237

OrgDBOrgSettings ツールの入手方法

OrgDBOrgSettings ツールは、最新の Update Rollup と同時に公開
されます。2012 年 3 月 28 日現在、最新の Update Rollup は以下の
URL で公開されています。

https://www.microsoft.com/download/en/details.aspx?displaylang=en&id=29221

こちらのページにある、CRM2011-Tools-KB2600643-ENU-amd64.exe を
ダウンロードしてください。

OrgDBOrgSettings ツールの利用方法

1. ダウンロードした CRM2011-Tools-KB2600643-ENU-amd64.exe を
実行して、任意のフォルダに展開します。

2. 解凍したフォルダにある config ファイルを、技術情報を参考に
編集します。環境によって編集内容が異なるのでご注意ください。

参考までに、こちらで利用した Microsoft Dynamics CRM オンラインに
対する設定を提示します。既定から変更したところはハイライトしています。
それぞれの情報は、Dynamisc CRM から 設定 | カスタマイズ |
開発者リソースで確認できます。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="OrgDBOrgSettingsTool.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
        </sectionGroup>
    </configSections>
    <applicationSettings>
        <OrgDBOrgSettingsTool.Properties.Settings>
            <setting name="OrgDBOrgSettingsTool_CrmService_CrmService" serializeAs="String">
              <!--- Please change CrmServer to your Crm Server Name -->
                <value>https://CrmServer/MSCrmServices/2007/CrmService.asmx</value>
            </setting>
            <setting name="OrgDBOrgSettingsTool_CrmDiscoveryService_CrmDiscoveryService"
                serializeAs="String">
              <!--- Please change CrmServer to your Crm Server Name -->
                <value>https://dev.crm5.dynamics.com/XrmServices/2011/Discovery.svc</value>
            </setting>
            <setting name="OrgDBOrgSettingsTool_SKU" serializeAs="String">
              <!--- Possible values here are Online/SPLA/OnPrem -->
                <value>Online</value>
            </setting>
            <setting name="OrgDBOrgSettingsTool_UserName" serializeAs="String">
              <!--- Please change the value below to your email Id/User Name for Online / SPLA -->
                <value>!!ここには利用する Live ID を入れました。!!</value>
            </setting>
          <setting name="OrgDBOrgSettingsTool_Domain" serializeAs="String">
            <value>crmdom</value>
          </setting>
          <setting name="OrgDBOrgSettingsTool_OrgServiceUri" serializeAs="String">
            <value>https://crm5orgac389.api.crm5.dynamics.com/XRMServices/2011/Organization.svc</value>
          </setting>
          <setting name="OrgDBOrgSettingsTool_RegistrationEndPointUri" serializeAs="String">
            <value>https://login.live.com/ppsecure/DeviceAddCredential.srf</value>
          </setting>
            <setting name="OrgDBOrgSettingsTool_Partner" serializeAs="String">
              <!--- This is applicable only for Online -->
                <value>Crm.Dynamics.com</value>
            </setting>
            <setting name="OrgDBOrgSettingsTool_Environment" serializeAs="String">
              <!--- This is applicable only for Online -->
                <value>INT</value>
            </setting>
        </OrgDBOrgSettingsTool.Properties.Settings>
    </applicationSettings>
</configuration>

3. 変更を保存します。

4. コマンドプロンプトで解凍フォルダに移動します。今回のテストでは
C ドライブ直下にツールを配置しました。

> cd c:\OrgDbOrgSettingsTool

5. 現在の設定を確認する場合、以下のコマンドを実行します。
/u  には開発者リソースより確認できる、組織独自の名前を指定します。

Microsoft.Crm.SE.OrgDBOrgSettingsTool.exe Retrieve /u ac389dd2c3414f938934d98d7816049e

6. 任意の設定を変更するには、以下のコマンドを実行します。
ここの例では SkipGettingRecordCountForPaging を True に
変更しています。(実際は改行を入れないでください。)

Microsoft.Crm.SE.OrgDBOrgSettingsTool.exe Update /u ac389dd2c3414f938934d98d7816049e
SkipGettingRecordCountForPaging True

変更できる設定

現時点で変更できる設定は、以下の通りです。

DisableSmartMatching
Default Value – False

AutoCreateContactOnPromote
Default Value – True

BackgroundSendBatchFile
Default Value – 10

DisableInactiveRecordFilterForMailMerge
Default Value – False

LookupNameMatchesDuringImport
Default Value – False

EnableRetrieveMultipleOptimization
Default Value – 1

DoNotIgnoreInternalEmailToQueues
Default Value – False

SkipSuffixOnKBArticles
Default Value – False

SkipGettingRecordCountForPaging
Default Value – False

SkipGettingRecordCountForPaging 設定

次回以降、各種設定を解説しますが、今回の記事では、コマンド例にあげた
SkipGettingRecordCountForPaging 設定を紹介します。

こちらの設定を変更することで、エンティティのグリッドを表示する際、全部で
何件あるかという情報を表示しなくなります。(最大 5000 件までカウント)

設定が False の場合 (既定)
image

設定が True の場合
image

既定の設定の場合には、実際のレコードを取得するクエリに加えて、合計件数
を取得するためのクエリを発行しています。パフォーマンスの観点から、合計
数の表示が不要な場合は、こちらの機能を利用しないほうが良いことになり、
SkipGettingRecordCountForPaging 設定で挙動を変更できます。

まとめ

今回は OrgDBOrgSettings ツールの紹介と簡単な利用方法を紹介しました。
次回以降で各種設定の詳細を解説する予定です。

‐ Dynamics CRM サポート 中村 憲一郎