The following solution(s) are provided as-is without any warranty, confers no rights and is not supported by the Author(s). Use at your own risk.
Installing and configuring Configuration Manager Secondary Sites is often a manual and time consuming task. If you have 50 or more sites that can be a significant amount of time spent installing and configuring Secondary Sites. The Hydration approach attempts to resolve that issue by providing an automated way to setup and configure Secondary Sites.
The following Hydration solution can be presented in 2 forms. It can be presented as a Post Operating System Task Sequence that will configure either Server 2003 or Server 2008 R2 systems for being a Secondary Site. The 2nd method is to integrate the steps into a Task Sequence that also deploys a Server 2003 or Server 2008 R2 image along with configuring the server to be a ConfigMgr Secondary Site.
This document assumes the following:
· You have a working and properly configured Configuration Manager 2007 SP2/R3 Primary Site
· You have Microsoft Deployment Toolkit 2010 Update 1 installed
· You have integrated MDT with ConfigMgr
· You have an existing MDT toolkit package
· SQL is configured to allow Named Pipes
· You have already created at least one DeploymentShare in MDT
· You have already created a SQL$ share
· You have the knowledge of how to create the required ConfigMgr packages
The Hydration process has been tested on Server 2003 R2 SP1/SP2 and Server 2008 R2 SP1.
The files are contained in a “ConfigMgr_Install.zip” archive. Once these files are extracted, you will need to modify a few of the script files and add the required source files. This section details those required changes.
The following tables details the included file/folder structure.
Table 1: Folder Structure
SQL files to extend MDT database and refresh views
PowerShell and CSV for bulk import of ConfigMgr Secondary Site servers
Task Sequence template and CustomSettings.ini template
Script to configure WebDAV for Server 2008 R2
\ConfigMgr Server 2003 IIS
Script to configure IIS for Server 2003
\ConfigMgr Create Senders
Script to create Primary site to Child site sender
\ConfigMgr 2007 Toolkit V2
ConfigMgr Toolkit (trace32)
\ConfigMgr 2007 SP2 Secondary
Script and source files for installing ConfigMgr secondary site
\ConfigMgr 2007 R3
Script and source files for installing ConfigMgr R3 and necessary pre-requisite hotfix
Sources files are required for the following items.
Table 2: Required Source Files
\ConfigMgr 2007 R3\Source
R3 installation files
\ConfigMgr 2007 R3\Hotfix
R3 Pre-req hotfix 977384
\ConfigMgr 2007 SP2 Secondary\PreReqs
ConfigMgr downloaded preq-reqs’s
\ConfigMgr 2007 SP2 Secondary\Source
ConfigMgr installation files
\ConfigMgr 2007 Toolkit V2\Source
ConfigMgr Toolkit MSI
\ConfigMgr Server 2003 IIS\i386
I386 directory from 2003 media
This Hydration solution relies on a “SCRIPTSITECODE” variable. This solution was developed around this information being populated in the MDT database. It is possible to configure and set this variable through other methods, but this guide will not address those.
1) Open the MDT workbench and expand your DeploymentShare
2) Select Advanced Configuration-Database
3) Right-Click on Database and select New Database
4) Input the name of the SQL server and make sure the Network Library is selected to Named Pipes, then select Next
5) Input MDT2010 for the Database Name and select Next
7) Select Next
8) Select Finish
Provided with the Hydration files are 2 SQL files for extending the MDT database with the SCRIPTSITECODE value and refreshing the views.
Open the “create scriptsitecode.sql” in SQL Management Studio.
Ensure that you are pointing to the MDT database.
Once you are pointed to MDT Database. You can Execute the query.
You should see “Command(s) completed successfully”
Next open the “refresh MDT views.sql” and make sure you are again pointed to correct database.
You should see “Command(s) completed successfully”
If you open up the MDT workbench, go into Advance Configuration – Database- Computers, you will now see a new property called ScriptSiteCode listed on the Settings tab.
A PowerShell script and CSV file are provided for the bulk import of computers into the MDT database. These computers are the servers we want to configure as Secondary Sites.
The CSV file contains the Description, MacAddress, and ScriptSiteCode values we want to import into the Database.
We use the MacAddress to identify the server and configure the appropriate SiteCode for the ConfigMgr installation. The SiteCode is stored in the ScriptSiteCode variable. The description is just a friendly name so we can identify the server in the database.
The provided PowerShell script will do a bulk import of the CSV file into the MDT database. The PowerShell script imports a MDT Module, connects to the MDT database and imports the information from the CSV file.
Edit the PowerShell script to make sure the paths are correct to the source files.
Edit the PowerShell script to make sure the correct SQLServer and Database are specified.
After running the import, you will see the records in the Database based on the information in the CSV.
The following folders from the Hydration files will need be to created as Packages in ConfigMgr.
These packages will be used by the Task Sequence template. No Programs are required for the packages, simply create a Package that references the source files so we can make them available to the Task Sequence.
NOTE: The ConfigMgr Toolkit can simply be imported as a MSI.
A Task Sequence XML is provided in the \Templates folder in the Hydration files.
This template contains all the necessary steps to configure either a 2003 or 2008 R2 server for being a Secondary Site. In addition to the packages containing the Hydration files, we need to use MDT Toolkit Package and a Settings Package.
The required steps in the template need to be configured to point to the ConfigMgr packages you have created.
A customsetings.ini for use with Task Sequence template has been provided in the \Templates folder.
The SQLServer and Database values will need to be changed to match your environment.
Ensure that the Gather step in the template is pointing to your Settings package.
There is a section of code in this script that allows you to specify existing source files to use, if we can find those, we will use those to install ConfigMgr, otherwise we’ll use the files from the script source files directory.
The following code would need to be changed in the script to match the location you might have local source files. It is located at line 93 in the script.
sFile = "F:\folderpath\smssetup\bin\i386\setup.exe"
There is also logic in the 2003 IIS script that checks for a local copy of the i386 directory. We look for the i386 directory at the root of the C: drive. If we don’t find it then we copy it down from the source files. In addition we set a few registry keys to let Windows know where the source files are located. If you wanted to change this location, you would need to modify the following lines of code.
Line 57 – Check for local i386
sFile = "C:\i386\setup.ex_"
Lines 70-72 – Update registry to point to C:\i386
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\SourcePath", "C:\", "REG_SZ"
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Setup\ServicePackSourcePath", "C:\", "REG_SZ"
oShell.RegWrite "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SourcePath", "C:\", "REG_SZ"
The sender creation script is coded to the primary site. This will need to be modified to point to your primary site.
primSiteCode = "001"
primSite = "2008-configmgr"
The provided TS template in \templates can also be used with an OSD TS to create a Secondary Site from bare-metal. The template can simply be copied into an existing OSD TS.