John Bailey (EXCHANGE)
Microsoft | Senior Service Engineer | Exchange Online
Netlogon: Cross-Forest Delayed Authentication Requests Cause Subsequent (and Continuous) Authentication Failures
One of the longest debugging experiences I've ever had to debug, so far, in Exchange was a code bug...
Date: 12/29/2017
Windows 10: Removing Groove, Facebook, and Other Unwanted Apps
A few months ago, someone very dear to me asked why they couldn't remove unwanted apps from Windows...
Date: 12/27/2017
2017 Project: Documented Code Samples
In an effort to empower more people across the planet to learn, but for it not to be an arduous...
Date: 03/26/2017
EXODSnapIn: Alpha Release
I wanted to write a post about the project I've been working on since circa December 2015. It's...
Date: 05/05/2016
C# + AD: Dump COM and Use System.DirectoryServices.Protocols with LINQ to Query AD
A while back, I posted about using ADSI COM to get the data that you wanted. I want to show you how...
Date: 04/25/2016
Debugging: When Recursive NDRs Bring the FSC to It's Knees And Causes Queuing
A while back (circa July 2015), we had alerting for queuing for a Dedicated customer. When we went...
Date: 04/05/2016
Debugging: Incremental Mailbox Sync Move Requests Cause 'StopAll' to be called on the Assistants Infrastructure Which Causes CalendarNotificationAssistant to Stop Processing Text Message (SMS) Notifications
Not too long ago, I debugged an issue with the Calendar Notification Assistant (CNA), wherein the...
Date: 04/05/2016
PowerShell + C#: Accessing the Current Runspace And Adding a Snap-In
I've been coding an assembly for import into the Exchange Management Shell (EMS) in C# for some...
Date: 04/05/2016
Exchange 2010: AD Recipient Cache and Locking Threads in EdgeTransport - Or How We Figured Out Something Wasn't Right With Mail Stuck in Submission Queue
A while ago we had an issue, wherein SCOM fired for message queue length for messages in Submission....
Date: 06/15/2015
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...
Date: 12/10/2014
OAB: BITS Provides Data for Troubleshooting
At certain times, it may become necessary to troubleshoot OAB downloads from the client-perspective....
Date: 11/24/2014
Exchange: Non-Discriminant Mailbox Moves
I had to rebuild my lab and in one of the invariable problems of doing this is that the default...
Date: 11/07/2014
Exchange: Recovering a Database from Dirty Shutdown (the Easy Way)
In testing (and production), we invariably run into problems where the database will be in a...
Date: 10/14/2014
C#: Returning an Object via System.Threading.Tasks.Task
In programming something (in EWS), discovered the joys of what I believe was 'lock...
Date: 10/13/2014
C#: Returning ADSI COM Properties of a User Object (Or Any Object, Really)
A few months ago, I was working on a project to query for specific AD properties of a user-object...
Date: 10/11/2014
ExRCA: Analyzing Messages via Headers
ExRCA (https://testconnectivity.microsoft.com/ or https://www.exrca.com/ [Redirects to the former.])...
Date: 10/11/2014
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...
Date: 10/01/2014
Exchange 2013: When the DAG NIC Affects Transport, That Can't Be Good
In my on-premises Exchange 2013 lab, there was a queue built up to a mailbox: Get-TransportService |...
Date: 08/25/2014
O365: CDN Change Causes OWA Client Error
Recently, we've seen a pattern of escalations wherein users are no longer able to access OWA....
Date: 08/18/2014
Exchange 2013: Recipient Filtering Agent (More Lessons in Proxy)
With the arrival of Exchange 2013 came some design changes and, with those changes, inevitably...
Date: 08/06/2014
O365: Accessing Another Mailbox via OWA URL
It may become necessary for an admin or delegate to access a mailbox (other than their own) in OWA....
Date: 08/04/2014
PowerShell Scripting: EWS and IPM.Configuration.Owa.UserOptions
So, to start off, I should explain how this script came about and why it's, currently, in a...
Date: 07/28/2014
Hybrid Configuration Wizard: Exchange 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...
Date: 07/24/2014
SysInternals: How Handle Helped Me Figure Out Outlook Was Up to No Good
So, after a lengthy day of some C# battles, a few Exchange issues, and some ded.pixel blaring...
Date: 07/09/2014
Testing Responses to 'GET' Requests (The Easy Way)
Often times, it may become necessary to look at the response received from a 'GET' request...
Date: 06/22/2014
Debugging: When Recursive Becomes Recursively Too Much
Recently, I had a problem with a build environment and, specifically, I was receiving a...
Date: 06/15/2014
Server2012: Adding DAG Member Results in 'The fully qualified domain name for node 'EMEA-SWEEX15-01' could not be found.'
To get around this, add the permissions by following this article for pre-staging the Cluster Name...
Date: 05/04/2014
C# + EWS: Autodiscover Test (Exchange and O365)
In times of troubleshooting client-side issues, it may become necessary to query for the...
Date: 04/16/2014
Server 2012: Using PowerShell to Check for KB2878635
In the course of an investigation, it became necessary to write a PowerShell script to check the...
Date: 04/15/2014
O365/Exchange 2013: Obtaining Move Report After The Move Request Has Been Removed
Often times, we will get an issue, where we need to check if any issues have occurred due to a move...
Date: 04/08/2014
Fermion: A Side-Project for Administration
NOTICE: Sample programs in this blog are not supported under any Microsoft standard support program...
Date: 03/30/2014
Exchange 2013: eDiscovery Changes
With the release of Exchange 2013, there are some changes that are relevant to eDiscovery; whether...
Date: 02/11/2014
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....
Date: 01/21/2014
Using PowerShell and .NET to Construct a DirectorySearcher
PowerShell and .NET are very interoperable and can help to save time, when you're performing...
Date: 01/10/2014
Exchange2013: Testing MRS Across A DAG
In Exchange 2013, it may become necessary to test the Mailbox Replication Service (MRS) against all...
Date: 12/26/2013
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...
Date: 12/18/2013
O365: Manual Outlook Profile Creation in Wave 15
After the migration to Wave 15, Tenant Admins may find it necessary to create manual Outlook...
Date: 12/10/2013
O365: On-Premises Transport Queuing Lessons Learned from CBL
I recently had a case where on-premises Transport had Queues that were 'stuck' going to the cloud....
Date: 12/06/2013
O365: PST Export Tool Issue and Possible Resolution[s]
It has been discovered that some customers experience a problem with the PST export tool in the...
Date: 11/07/2013
DAGs: When Installing Them Becomes A Chore
I had a lab and I was running into a problem building a Database Availability Group (DAG). I had...
Date: 10/24/2013
RBAC: Associating a Command With a Specific Groups
In some scenarios, it becomes prudent to know what Role is able to run which command. We can found...
Date: 09/27/2013
O365: Exchange and AD - How msExchRecipientDisplayType and msExchangeRecipientTypeDetails Relate to Your On-Premises
Now maintained here:...
Date: 09/11/2013
O365 & EWS: EmailMessage.SetExtendedProperty() Introduces Undesirable Behavior for Cloud
In Office 365, there is a known issue where Item.SetExtendedProperty() will prevent...
Date: 08/21/2013
EWS: Obtaining Mail Item from List
In troubleshooting an issue for a customer, I ran into a problem: I could obtain the data from the...
Date: 08/14/2013
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...
Date: 07/17/2013
Exchange 2013: High Availability, FAST Search, and the Windows Registry
One of the things not mentioned about High Availability (HA) and Database Availability Groups (DAGs)...
Date: 07/16/2013