Install Exchange Management Shell on your Computer

If you’re administrating an Exchange organisation there are different ways to do it.

The simple way is to use the webbrowser for the ECP.

But what about PowerShell?

The most common ways are to connect remotley to the Exchange server and then start the Exchange Management Shell or to use the Import-PSSession cmdlet to use Exchange PoSH commands on your local computer:

$UserCredential = Get-Credential

$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri -Authentication Kerberos -Credential $UserCredential

Import-PSSession $Session

This way works good and is recommended to manage remote Exchange servers!


But if your working with a domain joined client and are administrating your company’s Exchange organization, why not install the Exchange Management console on your local client?

This is very easy! Here are the steps how to do this:


On your client computer open a PowerShell console with administrative rights.

After that run the following command:

Enable-WindowsOptionalFeature -Online -FeatureName IIS-ManagementScriptingTools,IIS-ManagementScriptingTools,IIS-IIS6ManagementCompatibility,IIS-LegacySnapIn,IIS-ManagementConsole,IIS-Metabase,IIS-WebServerManagementTools,IIS-WebServerRole

With this command, your install the neccessary Windows features for the Exchange tools.

A reboot is not needed after installing the Windows Features.

Now you have to mount the Exchange .iso file for the next steps.

After mounting the exchange ISO, you need to open the command prompt (CMD) also with administrative privileges.

Then you change to the mounted ISO file. (In my case it is the E:\ drive).

cd e:

and run the following command:

E:\>setup /mode:install /role:managementtools /IAcceptExchangeServerLicenseTerms

With this command, the installation of the Exchange management tools will be done.

After finishing it, you have all tools needed, to manage your Organization’s Exchange directly from your local computer.


Please note! This works ONLYwithin your own Organization!




Photo by Zhang JR on Unsplash


  1. Christian

    at first: Thanks for the nice tut. but i got on my s2012r2 mgmt server and on my win10 mgmt notebook during the setup the same error….
    but the EMS works.

    PS E:\TFTP> .\setup /mode:install /role:managementtools /IAcceptExchangeServerLicenseTerms

    Microsoft Exchange Server 2013, kumulatives Update, unbeaufsichtigte Installation 18

    Dateien werden kopiert…
    Dateikopiervorgang beendet. Setup erfasst nun zusätzliche für die Installation erforderliche Informationen.

    Die Voraussetzungen für Microsoft Exchange Server werden überprüft

    Voraussetzungen werden konfiguriert ABGESCHLOSSEN
    Analyse der Voraussetzungen ABGESCHLOSSEN

    Microsoft Exchange Server wird konfiguriert

    Das Setup wird vorbereitet ABGESCHLOSSEN
    Dienste werden angehalten ABGESCHLOSSEN
    Exchange-Dateien werden kopiert ABGESCHLOSSEN
    Sprachdateien ABGESCHLOSSEN
    Dienste werden wiederhergestellt ABGESCHLOSSEN
    Sprachkonfiguration ABGESCHLOSSEN
    Exchange ManagementTools FEHLER
    Der folgende Fehler wurde generiert, als “$error.Clear();
    ” ausgeführt wurde: “Microsoft.Exchange.Provisioning.ProvisioningBrokerException: Fehler bei der Initialisierung
    der Bereitstellungsebene: ‘”Fehler bei der Initialisierung des Skript-Agents: “Datei nicht gefunden: ‘C:\Program Files\
    Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml’.””‘ —> Microsoft.Exchange.Provisioni
    ng.ProvisioningException: “Fehler bei der Initialisierung des Skript-Agents: “Datei nicht gefunden: ‘C:\Program Files\Mi
    crosoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.xml’.”” —> System.IO.FileNotFoundException:
    “Datei nicht gefunden: ‘C:\Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\ScriptingAgentConfig.x
    bei Microsoft.Exchange.ProvisioningAgent.ScriptingAgentConfiguration.Initialize(String xmlConfigPath)
    bei Microsoft.Exchange.ProvisioningAgent.ScriptingAgentConfiguration..ctor(String xmlConfigPath)
    — Ende der internen Ausnahmestapelüberwachung —
    bei Microsoft.Exchange.ProvisioningAgent.ScriptingAgentConfiguration..ctor(String xmlConfigPath)
    bei Microsoft.Exchange.ProvisioningAgent.ScriptingAgentClassFactory.get_Configuration()
    bei Microsoft.Exchange.ProvisioningAgent.ScriptingAgentClassFactory.GetSupportedCmdlets()
    bei Microsoft.Exchange.Provisioning.ProvisioningBroker.BuildHandlerLookupTable(CmdletExtensionAgent[] enabledAgents,
    Exception& ex)
    — Ende der internen Ausnahmestapelüberwachung —
    bei Microsoft.Exchange.Provisioning.ProvisioningLayer.GetProvisioningHandlersImpl(Task task)
    bei Microsoft.Exchange.Provisioning.ProvisioningLayer.GetProvisioningHandlers(Task task)
    bei Microsoft.Exchange.Configuration.Tasks.Task.b__4()
    bei Microsoft.Exchange.Configuration.Tasks.Task.InvokeNonRetryableFunc(Action func, Boolean terminatePipelineIfFailed

    Setup von Exchange Server wurde nicht abgeschlossen. Weitere Details finden Sie im Protokoll ‘ExchangeSetup.log’ im
    Ordner ‘:\ExchangeSetupLogs’.

  2. DrPe

    Hello Christian,
    Thank you for your comment!
    About your Problem, did you run all of the stepps as an admin User?
    It is important that you also run the PowerShell and CMD as Admin!
    The Message in your error code shows that a Path was’nt found. Did you mount the Exchange ISO File to the System or you copied the Files to the Local MACHINE?
    Do you have the write permission to the Path with your Useraccount in the following Path:
    C:\Program Files\Microsoft\Exchange Server\V15\Bin\CmdletExtensionAgents\

  3. Christian

    all is started within powershell with admin permissions. on local machine also tested with a local admin user and on mgmt server tested as domain admin.

  4. DrPe

    Hi Christian, that is good so far, but did you also started the CMD application and PowerShell application as Administrator?

Leave a Reply

Your email address will not be published. Required fields are marked *