How to use the DHCheck feature of the CrmDiagToolTurbo?

Hi Guys,

From what I see with the usage of the tool, I realize the DHCheck feature needs to be explained now.
Most of the time, the reports sent by customers are not correctly generated because they do not run the wizard correctly and the tool doesn't give any usage information.

I'll try to explain you how to generate a correct report with the tool in all situations.

The DHCheck wizard consists in filling correctly 2 screens before click FINISH.
If any of the 6 values of the 2 screens is not correct, the results will be wrong or partially missing, thus useless.....


1°) The first screen on the Left retrieves the CRM Server name, ReportServer name (used by CRM) and the SQL Server name (where MSCRM Db are located)

- The DH Check tool is meant to be run on the CRM Server itself, so the CRM Server Name will be set as the current MachineName.

- The CRM ReportServer name is retrieved from the url setup inside the "SQLRSServerURL" value of the MSCRM Registry Hive (HKLM\Software\Microsoft\MSCRM).
The URL syntax: https://myreportserver:81/ReportServer is filtered out to keep only the "MYREPORTSERVER" value.

If this registry value is not correct, then the ReportServer name displayed here will not be correct.

- The CRM SQL Server Name is retrieved from registry like for ReportServer, from the "database" value. the string is filtered out.
It works for CRM Server configured against a named instance SQL Server db, the instance named is removed to keep only the server name.

=> At this point if you have any failure to retrieve the server names automatically, please enter manually the different server names here before clicking NEXT, the Server Names NEED TO BE THE NETBIOS Name of the servers.

2°) The second screen retrieves automatically the different running accounts of the services we are interested in (for which we need to have servicePrincipalNames registered for)

- The MSCRMServices AppPool Id is the property of the CrmAppPool configured for the MSCRMServices virtual directory on the CRM Web Site.

This AppPool can be configured for a predifined account: Network Service, Local Service or Local System

or for a configurable user account like CRMDOM\MyUser

- The ReportServer AppPool Id is the same as above but for the AppPool configured for the ReportServer virtual directory of the CRM Report Server, because the DHCheck test is ran locally on CRM, this test is supposed to be executed remotely most of the time (when SRS is not the same box as CRM).

- The MSSQLServer Svc Id  information is retrieved locally or remotely depending on the CRM environment. The information is retrieved from the objectname Registry value under: HKLM\SYSTEM\CurrentControlSet\Services\MSSQLSERVER

NB: If the SQL Server is remote, the "Remote Registry" Service needs to be enabled on the SQL Server if you want the tool to retrieve the information automatically for you.

If you cannot retrieve this automatically please check the properties of the MSSQLSERVER Service startup account.

=> You need to pay attention to the syntax of the account specified in the tree boxes here, if the following is not followed, the result will be garbage:

If the account are non-user accounts, the allowed syntax is one of the following (this is not case sensitive):


Example: if you enter "Local System" with a space it will fail.

If this is a user Account, all syntax will be accepted: DOMAIN\Username or UPN (, the tool will filter that for you now.....

If this is a user account, the only allowed syntax is:


Example: if you enter "MYDOMAIN\MYUSERACCOUNT" or use a UPN syntax like MYUSERACCOUNT@MYDOMAIN.COM it will fail.

3°) When all informations are correct here, you can click FINISH, the report will then surely be correct :-)



NB: For Windows 2000 Environments, the AppoolId test will of course fail, because AppPools do not exist, in this case, what you have to do is to check the properties of the startup account of w3svc service then. and enter the info in the boxes before clicking FINISH.