Restore of Exchange items while not being able to reach the proper Global Catalog server (GC) - solved


Userlevel 7
Badge +8

I was able to solve this challenge in a project and would like to share the findings.

 

The challenge

Consider you want to restore Exchange items (e.g. mails, calendar objects, etc.) using Veeam Explorer for Exchange as well as Veeam Enterprise Manager.

Consider also, that you have a larger multi-domain infrastructure with the VI and backup infrastructure in a sub-domain (infra.mydomain.com). For security reasons, we are not able to reach the GC of the root domain. The mail addresses are derived from the root domain though (myuser@mydomain.com).

This might lead to the situation that neither Veeam Explorer for Exchange nor Veeam Enterprise Manager can determine the CAS server of your Exchange environment, as they want to contact the GC in charge first. This is even if they can easily reach the CAS itself. You can observe this in the corresponding logs (%programdata%\Veeam\Backup\ExchangeExplorer\Logs):

 

13.04.2023 15:35:39   15 (17156)  Looking for mailbox 'myuser@mydomain.com' in Global Catalog 'LDAP://mydomain.com:3268'…
13.04.2023 15:36:00   15 (17156) Warning: Failed to validate mailbox 'myuser@mydomain.com'.
13.04.2023 15:36:00   15 (17156) Warning: The server is not operational.

 

Veeam Explorer for Exchange will afterwards also try some autodiscover process to determine the client access server (CAS). But this might also fail, if your VBR cannot reach the sites needed here.

Unfortunately, timeouts here a pretty long. It’ll take up to 10 min until and error is thrown. You might then be prompted to type the CAS server - but only if you’ve chosen “restore to...” not while restoring back to the original location.

The exact same can happen within Enterprise Manager.

 

 

The solution

The solution needs some tweaking within registry and a specific *.XML files. 

Caveat! Only do this, if you know what you’re doing and maybe open a support case to flank it. 

For Enterprise Manager it is pretty easy. You hard code the FQDN/IP of your CAS server (e.g. mycas.mydomain.com) using the registry right on your Enterprise Manager server:
 

Registry: DefaultCASServer
Path: HKLM\SOFTWARE\Veeam\Veeam Backup Reporting
Type: REG_SZ


For Veeam Explorer for Exchange itself, it is a bit more special:

Modify or create (if not there) %programdata%\Veeam\Backup\ExchangeExplorer\Config.xml with the following content:

<Veeam>    
   <Exchange>        
      <Restore>          
         <Autodiscover UseCustomServer = "mycas.mydomain.com" />        
      </Restore>    
   </Exchange>
</Veeam>

 

Or, if you have (or want to have) extended logging enabled, use this code:

<Veeam>
   <Core>
      <Log Level="Extended" />
   </Core>
   <Exchange>
      <Restore>
         <Autodiscover UseCustomServer = "mycas.mydomain.com" />
      </Restore>    
   </Exchange>
</Veeam>

 

Once again, replace the server name as needed.

Having done that, your Exchange Explorer log will show:

13.04.2023 15:36:42    1 (1844)  Use specified Exchange server: mycas.mydomain.com

And your restore will probably work now.

Of course, make good note of those changes, as they need to be adapted once the Exchange environment changes. 


3 comments

Userlevel 7
Badge +21

That is very interesting and how you fixed it. Thanks for sharing this.

Userlevel 7
Badge +17

Keen troubleshooting skills! Well done, and good post!

Userlevel 7
Badge +8

interesting sharing, especially with the associated solution. Thanks @Michael Melter 

Comment