In System Center 2012 Configuration Manager, you can no longer deploy a secondary site server using Setup (wizard or scripted).  Instead, you must use the Configuration Manager console to create a new secondary site.  This is less than ideal if you want to deploy several secondary sites or want to automate the process for any other reason.

To address the need for automating the deployment of Configuration Manager 2012 Secondary Sites, Jim Dempsey, Config Mgr Program Manager, has developed a VBScript as a CodePlex community project that leverages the Windows Management Instrumentation (WMI) to write the necessary changes to the Site Control file so that a Primary Site server will deploy the intended Secondary Sites.  A PowerShell version of this script is expected in the near future from our MVP community.

After downloading the script, just change the below variables to match your Configuration Manager installation and then run the script as a Configuration Manager Site Admin to kick things off!

Script Variables to Modify for your Installation:

  • DNSDomainName - FQDN for the domain in which both the primary and secondary sites reside (e.g. contoso.com)
  • PrimarySiteCode - 3-character site code for an existing primary site that will be the parent of the new secondary site
  • PrimarySiteServerName - NetBIOS name of the primary site server computer (must match DNS hostname)
  • SecondarySiteCode - unique 3-character site code for the new secondary site
  • SecondarySiteServerName - NetBIOS name of the secondary site server computer (must match DNS hostname)
  • SecondarySiteName - brief description used to identify the new secondary site
  • SecondarySiteInstallFolder - local drive path on secondary site server where ConfigMgr will be installed (include trailing backslash, e.g. D:\ConfigMgr\)
  • InstallSQLExpress - flag to determine if SQL Express should be installed or not (0 = Don't Install, 1 = Install)
  • SQLInstanceName - SQL Server instance to be used for the secondary site database (optional if InstallSQLExpress = 0, ignored if InstallSQLExpress = 1)
  • SQLDatabaseName - database name to be used for the secondary site database (required if InstallSQLExpress = 0, ignored if InstallSQLExpress = 1)
  • SQLServicePort - port number to be used for the SQL Server Engine (required if InstallSQLExpress = 1, ignored if InstallSQLExpress = 0)
  • SSBPort - port number to be used for the SQL Service Broker (required, used for intersite database replication)
  • AlternateBuildSourcePath - Local drive path on secondary site server or UNC path where the ConfigMgr installation media and prerequisite files can be found (optional - leave blank to push from primary site)
  • IsProtected - flag to determine if clients can fallback to this site's distribution point when a preferred distribution point is not available (0 = allow fallback, 1 = do not allow fallback)

You can download the script from Jim's project on CodePlex.  Kudos to Jim Dempsey for developing this script!