Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are working on Exchange through Exchange Management Shell and also PowerShell (snap-in Exchange 2010 added).

My point here is that we have two different series of answers. EMS and PowerShell have two different behaviors.

Can you help to understand the differences between those two ? I'm not talking about running scripts, but the way they work, they call Exchange for having such different answers.

Runspace ? Pipeline ? Permissions ?

Thanks in advance for the help you can provide.

share|improve this question
Can you explain what the differences are? As far as I can tell, my powershell with the Exchange cmdlets loaded is no different to the Exchange Management Console... – Mark Henderson Apr 26 '12 at 9:32
In fact, EMS is PowerShell with Exchange snap-ins pre-loaded. It shouldn't be differently at all. – JohnThePro Apr 26 '12 at 14:29
Should one of you add that as an answer? – Zoredache Apr 26 '12 at 16:40
When I run Get-RpcClientAccess -DomainController domainname |fl with PowerShell Modules and EMS, I had two different range of results. But now, I do. Obviously, this driving me insane. So, I wanted to know why their were different, and how they work deep. There is no difference at all between them two ? – Gnial0id Apr 27 '12 at 7:16
up vote 0 down vote accepted

I'd never given this much thought, but it appears you're right -- they're different.

Please take a look at this blog post for some more detail. The list doesn't look exhaustive by any means, but it might be a good place to start. The two most interesting points are quoted below --

The Exchange commands using the Exchange Management Shell are implemented as functions. If you load the “Microsoft.Exchange.Management.PowerShell.E2010″ snapin instead of using the Exchange Management Shell the commands are implemented as cmdlets.

If you want to use the systemvariable $?, it is better to use the loaded snapin instead of the Exchange Management Shell because these commands don´t work properly in the Exchange Managemnt Shell. A second problem is the use of the common parameters because they are not implemented for all functions in Exchange Management Shell.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.