My ramblings on the stuff that holds it all together
ExPrep – Script to Automate Exchange 2007 Pre-Requisite Installation
May 13, 2009Posted by on
If you have ever had to install Exchange 2007 on a Windows 2008 (and 2003) server you will know that there are a number of pre-requisites that need to be installed from the OS for each role; for example IIS web services and metabase compatibility components.
You have two choices, do this via the UI using the add/remove features and roles Wizard in Server Manager or using the ServerManagerCmd.EXE command line utility – either way it’s pretty tedious to do if you have several servers to install.
Based on this handy reference from Microsoft I have built a very basic batch file that automates the installation of the pre-req components for you.
It only works on Windows 2008 (sorry no 2003 equivalent) and you use it entirely at your own risk – there are much cleverer ways of scripting this but I’m a pretty old skool DOS person, this works for me and is easy for me to maintain – feel free to re-write in something more modern and post it back here this code is probably quite hacky.
The contents of the file are here (just cut & paste into a .bat file)
REM ExPrep.bat by Simon Gallagher, ioko (http://vinf.net)
REM YOU USE THIS SCRIPT ENTIRELY AT YOUR OWN RISK
echo Preparing for base pre-req install
ServerManagerCmd -i Web-Metabase
echo you chose %EXPREP%
if %EXPREP%==1 goto MBX
ServerManagerCmd -i Failover-Clustering
ServerManagerCmd -i RPC-over-HTTP-proxy
1) Copy the script (ExPrep.bat) to your would-be Exchange server (remember Windows 2008 x64 is the only supported OS for Exchange 2007).
2) Run ExPrep.bat
3) Choose the appropriate role from the menu (note: there is no clever input validation – make sure you choose the correct one, there are pause statements before it actually does anything so you can CTRL-C to break out.
4) Sit back and wait for it to complete.
5) then run the Exchange 2007 installer from your DVD or network share as normal.
If you need to install multiple roles on a single server you can run the script multiple times, all changes are cumulative and if a component is already installed ServerManagerCmd.EXE (which the script calls) will just skip it.
Remember you use this entirely at your own risk, and you assume full responsibility for checking its suitability for your environment; the batch file is easy to read and customize for your own use, although I ask that if you do make changes link back here via a comment or trackback so that other people can benefit.