Error while preparing to send sharing message (Outlook 2007/2010/2013/2016)

I got the following error when I had migrated a customer from a Small Business Server to our local Hosted Exchange.

Outlook on a domain looks to Active Directory to get the auto discover information. If you run the Outlook connectivity tester on the affected computer, you will see that it returns the local SBS server autodiscover settings, even if you have configured Outlook to use an external provider.

The simplest way to fix this if the SBS server is still in used and Exchange is still installed, is to run the following commands:

Get-ClientAccessServer | Set-ClientAccessServer -AutoDiscoverServiceInternalUri https://mail.externaldomain.com/Autodiscover/Autodiscover.xml

And

get-autodiscovervirtualdirectory | Set-AutodiscoverVirtualDirectory -ExternalUrl https://mail.externaldomain.com/Autodiscover/Autodiscover.xml -InternalUrl https://mail.externaldomain.com/Autodiscover/Autodiscover.xml

This then points the Outlook client to the correct external Autodiscover service.

If you have any questions, please let me know.

Exchange 2013 Dag BSOD

We’ve recently been having issues with an Exchange 2013 DAG running CU2v2.

The server would reboot randomly with a BSOD. Exchange services would not start. I took the dump file and ran it through windbg and got the following output:

*******************************************************************************
*                                                                             *
*                        Bugcheck Analysis                                    *
*                                                                             *
*******************************************************************************

CRITICAL_PROCESS_DIED (ef)
        A critical system process died
Arguments:
Arg1: fffffa800b415080, Process object or thread object
Arg2: 0000000000000000, If this is 0, a process died. If this is 1, a thread died.
Arg3: 0000000000000000
Arg4: 0000000000000000

Debugging Details:
------------------

----- ETW minidump data unavailable-----

PROCESS_OBJECT: fffffa800b415080

IMAGE_NAME:  wininit.exe

DEBUG_FLR_IMAGE_TIMESTAMP:  0

MODULE_NAME: wininit

FAULTING_MODULE: 0000000000000000 

PROCESS_NAME:  MSExchangeHMWo

BUGCHECK_STR:  0xEF_MSExchangeHMWo

CUSTOMER_CRASH_COUNT:  1

DEFAULT_BUCKET_ID:  WIN8_DRIVER_FAULT_SERVER

CURRENT_IRQL:  0

ANALYSIS_VERSION: 6.3.9600.17029 (debuggers(dbg).140219-1702) amd64fre

LAST_CONTROL_TRANSFER:  from fffff80230e04795 to fffff802308db440

STACK_TEXT:  
fffff880`083419a8 fffff802`30e04795 : 00000000`000000ef fffffa80`0b415080 00000000`00000000 00000000`00000000 : nt!KeBugCheckEx
fffff880`083419b0 fffff802`30d9be2e : fffffa80`0b415080 00000000`144d2c41 00000000`00000000 fffff802`30a57794 : nt!PspCatchCriticalBreak+0xad
fffff880`083419f0 fffff802`30d12a01 : fffffa80`0b415080 00000000`144d2c41 fffffa80`0b415080 00000000`00000000 : nt! ?? ::NNGAKEGL::`string'+0x4a25a
fffff880`08341a50 fffff802`30d1880e : ffffffff`ffffffff fffffa80`0c889380 fffffa80`0b415080 00000000`00000001 : nt!PspTerminateProcess+0x6d
fffff880`08341a90 fffff802`308da453 : fffffa80`0b415080 fffffa80`0ce7c080 fffff880`08341b80 00000000`ffffffff : nt!NtTerminateProcess+0x9e
fffff880`08341b00 000007ff`5f312eaa : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : nt!KiSystemServiceCopyEnd+0x13
00000000`237fdeb8 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x000007ff`5f312eaa


STACK_COMMAND:  kb

FOLLOWUP_NAME:  MachineOwner

IMAGE_VERSION:  

FAILURE_BUCKET_ID:  0xEF_MSExchangeHMWo_IMAGE_wininit.exe

BUCKET_ID:  0xEF_MSExchangeHMWo_IMAGE_wininit.exe

ANALYSIS_SOURCE:  KM

FAILURE_ID_HASH_STRING:  km:0xef_msexchangehmwo_image_wininit.exe

FAILURE_ID_HASH:  {3f0b292e-4bc2-5c6e-99a7-f9a74df1101c}

Followup: MachineOwner

The failed process is MSExchangeHMWo. This is the Microsoft Exchange Health Monitor service.

Reading more in to this, it seems to happen when the server has an issue, like low memory, slow IO etc. It also seems to be a bug in CU2 and CU3.

A good thread on the issue can be found here.

You can run the following powershell command on a CU2 server to disable automatic reboots (BSOD).

Add-GlobalMonitoringOverride -Identity ExchangeActiveDirectoryConnectivityConfigDCServerReboot -ItemType Responder -PropertyName Enabled -PropertyValue 0 -ApplyVersion “15.0.712.24

If you have CU3 or another version, change the ApplyVersion to the specific version of Exchange. The versions can be found here.

Exchange 2013: 2 smtp;532 5.3.2 STOREDRV.Deliver; Missing or bad StoreDriver MDB properties

You may have got the following error when using CU1 or CU2 with Exchange 2013 when the routing plugin for multi tenancy is being used.

2 smtp;532 5.3.2 STOREDRV.Deliver; Missing or bad StoreDriver MDB properties

Now there are a couple of reasons for this, which are well documented.

The first reason is if you have a mailbox that is hidden from the address book. You need to un-hide the mailbox.

Another issue that will cause this that isn’t well documented is if you are using Email Address policies that check certain things like custom attributes or organizational units (OUs). If the user is sitting in the wrong OU, and the address policy specifies they need to be in another OU, you will get this error.

Hopefully this will be fixed soon.

Exchange 2013 Veeam backup logs are not truncated

We have an Exchange 2013 shared environment split over multiple servers. We have our 2xDAG and 2xCAS.

When running a Veeam backup (Full and Incremental), we noticed that the backup logs were not being truncated.

khdn3kju.nkd1What we found is that the DAG’s must be backed up before the CAS servers. If not, the DAG servers, for whatever reason do not truncate the logs.

veeam

Once we changed the order of VMs, we found the logs truncated.

CaptureThe reason I am posting this is that many forum users are saying to install CU1. CU1 has many issues itself, so we didn’t want to do this. This proves CU1 does not need to be installed.

Before anyone installs CU1, please read the blog posts here.

Exchange 2010 with Legacy 2000 AD information

I had an interesting issue. I had an old Windows 2000 SBS server on my clients network. Been there for a long time as they needed to use the legacy application that it runs. Most services were disabled (ISA, Exchange). Problem arose as it had been disconnected from the domain for some time. This proved interesting when I tried to remove it from the domain. We had to do a adprep /forceremoval (undocumented).

Anyway, the next issue arose when the new Exchange 2010 server was being installed. We could not create mailboxes for exiting users. What gives? I thought Exchange was not being used on the old server? Seems it was, at one stage.

Ok, time to remove this.

[PS] C:Windowssystem32>get-mailbox LegacyUser

Name                      Alias                ServerName       ProhibitSendQuota
—-                           —–                ———-       —————–
Legacy User        LegacyUser           OldSBS2000       unlimited

Ok, the user still seems to be there. I managed to find a command which disables the mailbox AND removes the legacy information from Active Directory.

[PS] C:Windowssystem32>disable-mailbox LegacyUser

Confirm
Are you sure you want to perform this action?
Disabling Mailbox “LegacyUser” will remove the Exchange properties from the Windows user object and mark the mailbox in
the database for removal.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is “Y”):

If you don’t disable the user, you will get the following error:

[PS] C:Windowssystem32>remove-mailbox LegacyUser

Confirm
Are you sure you want to perform this action?
Removing the Mailbox “adeleg” will remove the Active Directory user object and mark the mailbox in the database for removal.
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [?] Help (default is “Y”):
Active Directory operation failed on LegacySBS2000.domain.local. This error is not retriable. Additional information: Acc
ess is denied.
Active directory response: 00000005: SecErr: DSID-03151D12, problem 4003 (INSUFF_ACCESS_RIGHTS), data 0
+ CategoryInfo          : NotSpecified: (0:Int32) [Remove-Mailbox], ADOperationException
+ FullyQualifiedErrorId : 103F99DF,Microsoft.Exchange.Management.RecipientTasks.RemoveMailbox

Now you can add mailboxes to these users.You can also remove this information from AD using ADSI Edit, but I STRONGLY DO NOT RECOMMEND THIS. It does work however 😉

I hope this helps someone out there.