Friday, October 30, 2015

Automatic Installation of Exchange 2013/2016

Hi folks,

I would love to share with you a quick and easy way for installing Exchange 2013/2016 servers automatically. It can be achieved by using this script that can be downloaded from the TechNet Gallery. Here is the author's site where he explains about using of the script and all its parameters in more details.

To successfully perform automatic installation you will need to create a folder, let's say D:\ExInstall. You will need to download Office 2010 Filter PackOffice 2010 Filter Pack SP1 and UCMA 4.0 and store them into that folder. Additionally you will need to place this script in to the same folder. Alternatively you may need Internet access from the server on which you are installing Exchange. If one of these components is not found in the installation folder script will try to connect to internet and download installation files from there and then execute it.

After this you will need to create subfolder, let's call it Exch2013. You will need to extract Exchange 2013 or 2016 binaries there.

As long as Windows 2012 R2 components are concerned, they will also be automatically installed as the part of this installation, so no need to worry for them.

As soon as everything is in place, the final thing that is needed is administrative account under which you will need to perform Exchange installation. If you are installing a new server into existing Exchange 2013/2016 organization you will need to be a member of Organization Management group. Please note that this script also extends schema and AD, so if you are introducing a first Exchange 2013/2016 server into existing 2010 organization or performing a greenfield installation you will also need to have permission to update AD and schema. This will require membership in Domain Admins and Schema Admins groups. If schema is prepared before you execute the install script will notice it and skip this step.

During the installation the script also sets local PowerShell policy for script execution to Not Configured which is one of the prereqs for successful Exchange 2013/2016 installation.

Finally it's worthy to mention that the script creates 2 files in the installation folder:

- Install-Exchange15.ps1_20150918122654.log
- Install-Exchange15.ps1_state.xml

The first one of the is used as log for the installation process and the second one is the installation state. They're very useful when you re-run your installation due to some kind of interruption as well as they give you a good picture of what is happening during the script execution which can be very necessary for troubleshooting.

Below is the sample code which installs multi-role (CAS and MBX) Exchange 2013 server along with all prerequisites to the folder where you want it to be installed. At the end of the installation it also registers URL for Autodiscover SCP which saves yet another step for Exchange deployment:

.\Install-Exchange15.ps1 -InstallMultiRole -InstallPath 'D:\ExInstall' -InstallFilterPack -SourcePath 'D:\ExInstall\Exch2013' -TargetPath 'C:\Program Files\Microsoft\Exchange Server\V15' -SCP -AutoPilot -Verbose

I won't explain every single parameter as all of them are clearly described in the author's article shared above.

During the execution script will bounce a server as many times as needed to complete installation of components and continue at the point of stop after the restart.