Exchange 2013: Recipient Filtering Agent (More Lessons in Proxy)

With the arrival of Exchange 2013 came some design changes and, with those changes, inevitably something was bound to catch us off-guard. To help explain this better, enter the proxy from the CAS Frontend to the Mailbox backend. All SMTP connections (we’re focusing on SMTP for this post) utilize the proxy of the Frontend Transport…

4

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. There's two ways to do this and most people are familiar with the change in the URL method, which is what I'll be covering in this post. In Wave14 (Exchange 2010), you merely had to append…

6

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 'legacy' status. There was an issue in Exchange 2010 (that, has since, been fixed), where the save method for the IPM.Configuration.Owa.UserOptions item was in an infinite loop due to corruption. This corruption didn't come into fruition until long after RTM…


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…

1

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 through the speakers, I went to clean-up some folders from my desktop. I received the dreaded 'Folder In Use' message from Windows: Alright. That's odd. All that's in there is two csv files. Excel isn't open. So, needless…


Testing Responses to 'GET' Requests (The Easy Way)

Often times, it may become necessary to look at the response received from a 'GET' request to a web server. We can do a little .NET magic to perform this. Below is an example tested my favorite TV station in Sweden: [net.Webrequest]::Create("http://www.svt.se").GetResponse() IsMutuallyAuthenticated : FalseCookies                 : {}Headers                 : {X-UA-Compatible, X-Varnish, Connection, Content-Length…}SupportsHeaders         : TrueContentLength           : 50827ContentEncoding        …


Debugging: When Recursive Becomes Recursively Too Much

Recently, I had a problem with a build environment and, specifically, I was receiving a StackOverflowException. This is what the exception information looked like from the Application Log perspective: Faulting application name: <redacted>, version: <redacted>, time stamp: 0x5347902e Faulting module name: clr.dll, version: 4.0.30319.34014, time stamp: 0x52e0b784 Exception code: 0xc00000fd Fault offset: 0x00002cf4 Faulting process id:…


C# + EWS: Autodiscover Test (Exchange and O365)

In times of troubleshooting client-side issues, it may become necessary to query for the autodiscover response the user is receiving from either Exchange on-premises or Exchange in O365 – or, in the case of a redirection, both on-premises and O365 Exchange. This is a sample C#.NET Console Application, which will query for the Autodiscover response and use…


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 current file version of the kernelbase.dll. I needed to compare it against the file version of a KB that was pushed for better resiliency (http://support.microsoft.com/kb/2878635). The script uses some basic logic to get the file version and compare…