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: Non-Discriminant Mailbox Moves
I had to rebuild my lab and in one of the invariable problems of doing this is that the default database is created and by the time you do any administration in Exchange, mailboxes exist on it. I had to come up with a sure-fire way to balance moves between the two mount-points I had…
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 'bad state'. In my case, I pulled Store service out from under it (disabled and stopped the service) and this caused the database to go into dirty shutdown: eseutil.exe /mh "C:\Databases\EMEA-SWEEX15-01 Store 001\EMEA-SWEEX15-01 Store 001.EDB" Extensible Storage Engine Utilities…
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 that exists in the Netlogon code. I hope to cover what this bug was, how it manifested, and the fix that was implemented by the Windows developer to resolve the issue. So, this is going to…
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…
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: 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 | Get-Queue | Where{$_.MessageCount -gt 0} | FT -AutoSize Identity DeliveryType Status MessageCount Velocity RiskLevel OutboundIPPool NextHopDomain ——– ———— —— ———— ——– ——— ————– ————- Stromkarlen\3 SmtpDeliveryToMailbox Retry 15 0 Normal 0 emea-sweex15-01 store 001 What’s interesting about the queue is…
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 time. One of the problems that I ran into was how to load the Support assembly, since it’s not imported into the RunSpace by default. After a while of testing/trying/failing and repeat ad nauseam, I found the answer…
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 installed Exchange 2013 Mailbox Role on 3 Windows Server 2008 R2 Standard machines. I was receiving the following error: A database availability group administrative operation failed. Error: Failed to add or remove the Failover-Clustering feature. Error:…