When you install Microsoft Exchange, you can manage Exchange infrastructure on two way.
- Exchange Management Console or Exchange Control Panel from in Exchange 2013 or later.
- Exchange Management Shell or Powershell.
Almost all standard tasks you can do with GUI tools, EMC or ECP, but for many other tasks need to use EMS or Powershell. That is not “nightmare”, and trust me, you’ll love Powershell quickly.
Exchange installation comes with EMS, Powershell module for Exchange servers. During starting, EMS will connect to Exchange server and whole Exchange infrastructure. But, if you want to start any Exchange command from standard powershell, you will get error message “The term ‘*****’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.” That is because, by default, standard Powershell doesn’t imported Exchange module / snapin. That is very important if you want to create scheduled task which will run some Powershell script for Exchange tasks. First line need to be adding Exchange module / snapin.
Depend on Exchange version, Powershell commands for adding Exchange module / snapin are different.
Exchange 2013 & 2016
Also, if you want to connect remotely to Exchange Management Console with Powershell, and have previously configured Powershell virtual directory, you can do this with following commands.
$UserCredential = Get-Credential $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri http://<FQDN of Exchange server>/PowerShell/ -Authentication Kerberos -Credential $UserCredential Import-PSSession $Session
That will give you possibility to work remotely with your Exchange infrastructure.