O365 and Exchange 2016/Exchange 2013: Understanding the UserPhoto API

We recently had an issue for an Enterprise Cloud customer, in which the photo was not rendering for the user – which was uploaded to AD (and synced over via MMSSPP to the managed environment). It was sussed that the issue was customer-caused, as the customer was modifying the photo via the PowerShell commandlets and…


Exchange 2013: Understanding the Room Finder function in OWA

In Exchange 2013, when you use OWA to book a room, there can be two methods that get called for this to occur. Both of these methods start workflows against service.svc and you can see this in the client behavior via the following URLs: https://<vanityDomain>/owa/service.svc?action=GetRoomLists&ID=-<ID>&AC=1https://<vanityDomain>/owa/service.svc?action=GetRoomsInternal&ID=-<ID>&AC=1 The first method, GetRoomLists, returns all rooms found in room lists (Get-DistributionGroup…


Exchange 2013: MailboxTransportMBTDeliveryPercentPermanentFailedMonitor Fires When User is Over Quota

In Exchange 2013, there may be an instance where a user is over-quota and causes the Mailbox Transport responder to escalate. This issue is specific only to Mailbox Delivery and there are some simple steps to prove that this is a 'by-design' scenario. Check the current value of the counter, run command: Get-Counter "\MSExchange Delivery Store…


Hybrid Configuration Wizard: Exchange server "<Server>" was not found. Please make sure you typed the name correctly.

When you decommission an Exchange Server in your Organization and have a Hybrid Configuration, one of the things that does not occur is that the server is not removed from the Hybrid Configuration (msExchCoexistenceRelationship) to reflect this. When you run the Hybrid Configuration Wizard, after the decommission, you'll see the following error: The wizard did…


Exchange 2013: eDiscovery Changes

With the release of Exchange 2013, there are some changes that are relevant to eDiscovery; whether it be for In-Place Holds or Litigation Queries to export to the Discovery Mailbox. Most notably, eDiscovery/Exchange Search does not support AQS – it switched to KQL. KQL is supported in the SearchQuery parameter (Keywords box in the Exchange Admin…


O365: Testing Problems With RpcProxy for Outlook Anywhere Migrations

Often times, it may be necessary to test the RpcProxy URL to verify connectivity to your servers. There are various reasons for doing this but the primary is to verify if the connectivity problem isn't limited to a problem with Exchange in O365. RpcProxy is a compound URL, meaning it comprises different parts to make the whole….


Exchange2013: Testing MRS Across A DAG

In Exchange 2013, it may become necessary to test the Mailbox Replication Service (MRS) against all members of a Database Availability Group (DAG). To do this, we can perform the following script: #We obtain the member servers of the DAG$Servers = ((Get-DatabaseAvailabilityGroup LAB-NAEX15-01).Servers).Name#We perform a 'foreach' against each memberforeach($server in $Servers){ Write-Host -ForegroundColor Green $server.NameTest-MRSHealth -Identity $server…


Exchange 2013: 'Get-AgentLog' Throws Exception When Run From The Front End

During the investigation of a not-so-recent case, it was discovered that Get-AgentLog – when run from a Front-End server – will throw an exception. What occurs is that when you attempt to run the command from EMS, you receive a notice about an exception and that a Watson dump is being generated; however, no Watson dump…


Exchange 2013: High Availability – When Maintenance Might Be Necessary

During the course of your on-premises environment, it may become necessary to take a production Exchange server out of rotation and perform maintenance on it (i.e.: replace memory, patching, reconfiguration, etc.). During this time, it will become necessary to prevent RemoteMonitoring from testing against the server you need to repair. To understand this, we need to cover High…