Assets/cmbuild.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<configuration schemaversion="1.3.06">
    <project hostname="CM01.contoso.com" host="CM01" sitecode="P01" comment="Contoso SCCM primary site server build for CM01.contoso.com, 1.3.02 by DS 2017-09-23" />
    <sources comment="Installation Media Source Locations">
        <source name="ADK" path="\\FS1\apps\CM_BUILD\ADK\cached" comment="ADK 1703" />
        <source name="MDT" path="\\FS1\apps\CM_BUILD\MDT" comment="MDT 8443" />
        <source name="SQLSERVER" path="\\FS1\apps\CM_BUILD\SQL2016" comment="SQL Server 2016" />
        <source name="SSMS" path="\\FS1\apps\CM_BUILD\SSMS" comment="SQL Server Management Studio 17.x" />
        <source name="CONFIGMGR" path="\\FS1\apps\CM_BUILD\CONFIGMGR\SMSSETUP\BIN\X64" comment="Configuration Manager 1702" />
        <source name="CMTOOLKIT" path="\\FS1\apps\CM_BUILD\TOOLS" comment="ConfigMgr Toolkit 2012 R2" />
        <source name="RCTOOLS" path="\\FS1\apps\CM_BUILD\TOOLS" comment="Right-click Tools" />
        <source name="WIN10" path="\\FS1\sources\win10x64ent" comment="Windows 10 image source" />
        <source name="WINSERVER" path="\\FS1\sources\win2016dc" comment="Windows Server 2016 image source" />
        <source name="WSUSCONFIG" path="C:\Program Files\Update Services\Tools" comment="WSUS Configuration Utility" />
        <source name="SERVERROLES" path="\\FS1\apps\CM_BUILD" comment="XML configuration file" />
        <source name="WSUS" path="\\FS1\apps\CM_BUILD" comment="XML configuration file" />
    </sources>
    <packages comment="Controls the order and links of execution">
        <package use="1" name="LOCALACCOUNTS" type="function" comment="Configure local accounts and groups" dependson="" />
        <package use="1" name="SERVERROLES" type="feature" comment="Server Roles and Features" note="change feature to payload to invoke external file" />
        <package use="1" name="ADK" type="payload" comment="Windows 10 ADK 1703" dependson="" />
        <package use="1" name="MDT" type="payload" comment="Microsoft Deployment Toolkit 8443" dependson="" />
        <package use="1" name="SQLSERVER" type="payload" comment="SQL Server 2016" dependson="" />
        <package use="1" name="SSMS" type="payload" comment="SQL Server Management Studio" dependson="" />
        <package use="1" name="SQLCONFIG" type="function" comment="Configure SQL Server" dependson="" />
        <package use="1" name="WSUS" type="feature" comment="WSUS Role" dependson="" note="change feature to payload to invoke external file" />
        <package use="1" name="WSUSCONFIG" type="function" comment="WSUS Configuration" dependson="WSUS" />
        <package use="1" name="CONFIGMGR" type="payload" comment="Configuration Manager 1702" dependson="WSUS" />
        <package use="1" name="CMTOOLKIT" type="payload" comment="ConfigMgr Toolkit 2012 R2" dependson="CONFIGMGR" />
        <package use="1" name="RCTOOLS" type="payload" comment="Recast RightClick Tools" dependson="CONFIGMGR" />
    </packages>
    <payloads comment="Describes execution details for each package">
        <payload name="SERVERROLES" file="roles.xml" params="" comment="only used if the package type is payload, must reside in same path as cm_build.xml" />
        <payload name="ADSCHEMA" file="extadsch.exe" params="" comment="AD Schema Extension" />
        <payload name="ADK" file="adksetup.exe" params="/installpath E:\ADK /Features OptionId.DeploymentTools OptionId.WindowsPreinstallationEnvironment OptionId.ImagingAndConfigurationDesigner OptionId.UserStateMigrationTool /norestart /quiet /ceip off" comment="ADK" />
        <payload name="MDT" file="MicrosoftDeploymentToolkit_x64.msi" params="/qb! /norestart" comment="MDT" />
        <payload name="SQLSERVER" file="setup.exe" params="/ConfigurationFile=F:\CM_BUILD\sqlsetup.ini" comment="SQL Server" />
        <payload name="SSMS" file="SSMS-Setup-ENU.exe" params="/install /quiet /norestart" comment="SQL Server Management Studio" />
        <payload name="WSUSCONFIG" file="WsusUtil.exe" params="postinstall SQL_INSTANCE_NAME=@HOSTNAME@ CONTENT_DIR=F:\UPDATES" comment="WSUS configuration" />
        <payload name="CONFIGMGR" file="setup.exe" params="/script F:\CM_BUILD\cmsetup.ini" comment="Configuration Manager" />
        <payload name="CMTOOLKIT" file="ConfigMgrTools.msi" params="/qb! /norestart" comment="ConfigMgr Toolkit" />
        <payload name="RCTOOLS" file="Recast_RCT_Latest.msi" params="/qb! /norestart" comment="Right-Click Tools" />
        <payload name="WSUS" file="wsus.xml" params="" comment="only used if the package type is payload" />
    </payloads>
    <detections comment="Describes criteria to indicate install status">
        <detect name="LOCALACCOUNTS" path="HKLM:\SOFTWARE\CM_BUILD\PROCESSED" value="LOCALACCOUNTS" type="synthetic" />
        <detect name="SERVERROLES" path="HKLM:\SOFTWARE\CM_BUILD\PROCESSED" value="SERVERROLES" type="synthetic" />
        <detect name="ADK" path="HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows Kits\Installed Roots" value="" type="automatic" />
        <detect name="MDT" path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{2E6CD7B9-9D00-4B04-882F-E6971BC9A763}" value="" type="automatic" />
        <detect name="SQLSERVER" path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\Microsoft SQL Server 16" value="" type="automatic" />
        <detect name="SSMS" path="HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{98FA3A6A-2028-4F6B-993E-D1851F0D5EC6}" value="" type="automatic" />
        <detect name="SQLCONFIG" path="HKLM:\SOFTWARE\CM_BUILD\PROCESSED" value="SQLCONFIG" type="synthetic" />
        <detect name="WSUS" path="UpdateServices-DB" value="" type="feature" />
        <detect name="WSUSCONFIG" path="HKLM:\SOFTWARE\CM_BUILD\PROCESSED" value="WSUSCONFIG" type="synthetic" />
        <detect name="CONFIGMGR" path="HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\SMS Primary Site" value="" type="automatic" />
        <detect name="CMTOOLKIT" path="C:\Program Files (x86)\ConfigMgr 2012 Toolkit R2\ToolkitHelp.docx" value="" type="automatic" />
        <detect name="RCTOOLS" path="HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{4FFF7ECC-CCF7-4530-B938-E7812BB91186}" value="" type="automatic" />
    </detections>
    <localaccounts comment="Local Accounts and Group Memberships">
        <localaccount use="1" name="CONTOSO\sql-svc" memberof="Administrators" rights="SeServiceLogonRight,SeDenyInteractiveLogonRight" comment="rights are based on http://get-carbon.org/Grant-Privilege.html" />
        <localaccount use="1" name="CONTOSO\sccmadmin" memberof="Administrators" rights="" comment="" />
        <localaccount use="1" name="CONTOSO\IT sccm admins" memberof="Administrators" rights="" comment="" />
    </localaccounts>
    <folders comment="Folders to be created">
        <folder use="1" name="E:\ADK" comment="ADK installation path" />
        <folder use="1" name="E:\MDT" comment="MDT installation path" />
        <folder use="1" name="E:\CONFIGMGR" comment="ConfigMgr installation path" />
        <folder use="1" name="E:\SQLDB" comment="SQL Database path" />
        <folder use="1" name="F:\SQLLOGS" comment="SQL Logs path" />
        <folder use="1" name="E:\SQLBACKUPS" comment="SQL backups path" />
        <folder use="1" name="F:\SQLTEMPDB" comment="SQL Temp DB path" />
        <folder use="1" name="F:\CM_BUILD" comment="CM_BUILD temp folder" />
        <folder use="1" name="F:\CMPREREQS" comment="ConfigMgr prereqs download path" />
        <folder use="1" name="F:\UPDATES" comment="WSUS updates storage path" />
        <folder use="1" name="F:\SOURCES,F:\SOURCES\DRVPKG,F:\SOURCES\DRVSRC,F:\SOURCES\SCRIPTS,F:\SOURCES\TOOLS" comment="" />
    </folders>
    <files comment="Files to be created">
        <!-- reference: https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-2016-from-the-command-prompt -->
        <file use="1" pkg="SQLSERVER" name="sqlsetup.ini" path="F:\CM_BUILD" force="true" comment="SQL Server 2022 installation file">
            <keys>
                <key name="__SECTION1" value="OPTIONS" />
                <key name="ACTION" value="Install" />
                <key name="ASCOLLATION" value="Latin1_General_CI_AS" />
                <key name="ErrorReporting" value="False" />
                <key name="SUPPRESSPRIVACYSTATEMENTNOTICE" value="False" />
                <key name="IACCEPTROPENLICENSETERMS" value="False" />
                <key name="ENU" value="True" />
                <key name="QUIET" value="True" />
                <key name="QUIETSIMPLE" value="False" />
                <key name="UpdateEnabled" value="True" />
                <key name="USEMICROSOFTUPDATE" value="True" />
                <key name="FEATURES" value="SQLENGINE,RS,CONN,IS,BC,SDK,BOL" />
                <key name="UpdateSource" value="MU" comment="Update source is MS Update" />
                <key name="HELP" value="False" />
                <key name="INDICATEPROGRESS" value="False" />
                <key name="X86" value="False" />
                <key name="INSTANCENAME" value="MSSQLSERVER" />
                <key name="INSTALLSHAREDDIR" value="C:\Program Files\Microsoft SQL Server" />
                <key name="INSTALLSHAREDWOWDIR" value="C:\Program Files (x86)\Microsoft SQL Server" />
                <key name="INSTANCEID" value="MSSQLSERVER" />
                <key name="SQLBACKUPDIR" value="F:\SQLBACKUPS" comment="SQL backup location" />
                <key name="SQLUSERDBDIR" value="E:\SQLDB" comment="User DB location" />
                <key name="SQLUSERDBLOGDIR" value="F:\SQLLOGS" comment="SQL user DB logs location" />
                <key name="SQLTEMPDBDIR" value="F:\SQLTEMPDB" comment="Temp DB location" />
                <key name="RSINSTALLMODE" value="DefaultNativeMode" comment="Reporting Services install mode" />
                <key name="INSTANCEDIR" value="C:\Program Files\Microsoft SQL Server" />
                <key name="SQLSVCACCOUNT" value="CONTOSO\sql-svc" comment="SQL service" />
                <key name="SQLSVCPASSWORD" value="P@ssw0rd123" comment="SQL Service password" />
                <key name="AGTSVCACCOUNT" value="CONTOSO\sql-svc" comment="SQL Agent service" />
                <key name="AGTSVCPASSWORD" value="P@ssw0rd123" comment="SQL Agent service password" />
                <key name="ISTELSVCACCT" value="NT Service\SSISTELEMETRY130" />
                <key name="SQLTELSVCACCT" value="NT Service\SQLTELEMETRY" comment="Telemetry Services" />
                <key name="ISSVCACCOUNT" value="NT AUTHORITY\System" comment="Integration Services" />
                <key name="RSSVCACCOUNT" value="NT AUTHORITY\System" comment="Reporting Services" />
                <key name="SQLSVCSTARTUPTYPE" value="Automatic" comment="SQL Service" />
                <key name="AGTSVCSTARTUPTYPE" value="Automatic" comment="SQL Agent service" />
                <key name="ISSVCSTARTUPTYPE" value="Disabled" />
                <key name="SQLTELSVCSTARTUPTYPE" value="Automatic" />
                <key name="ISTELSVCSTARTUPTYPE" value="Automatic" />
                <key name="RSSVCSTARTUPTYPE" value="Automatic" />
                <key name="COMMFABRICPORT" value="0" />
                <key name="COMMFABRICNETWORKLEVEL" value="0" />
                <key name="COMMFABRICENCRYPTION" value="0" />
                <key name="MATRIXCMBRICKCOMMPORT" value="0" />
                <key name="FILESTREAMLEVEL" value="0" />
                <key name="ENABLERANU" value="False" />
                <key name="SQLCOLLATION" value="SQL_Latin1_General_CP1_CI_AS" />
                <key name="SQLSVCINSTANTFILEINIT" value="False" />
                <key name="SQLSYSADMINACCOUNTS" value="CONTOSO\sccmadmin,CONTOSO\sql-svc" comment="SQL administrator accounts" />
                <key name="SQLTEMPDBFILECOUNT" value="1" comment="Number of Temp DB files" />
                <key name="SQLTEMPDBFILESIZE" value="8" comment="Temp DB file size 8 MB" />
                <key name="SQLTEMPDBFILEGROWTH" value="64" comment="Temp DB file growth increment 64 MB" />
                <key name="SQLTEMPDBLOGFILESIZE" value="8" comment="Temp DB Log file size 8 MB" />
                <key name="SQLTEMPDBLOGFILEGROWTH" value="64" comment="Temp DB Log file growth increment 64 MB" />
                <key name="TCPENABLED" value="1" comment="TCP enabled" />
                <key name="NPENABLED" value="1" comment="Named Pipes enabled" />
                <key name="BROWSERSVCSTARTUPTYPE" value="Disabled" comment="SQL Browser service startup" />
                <key name="PRODUCTCOVEREDBYSA" value="False" comment="License is covered by Software Assurance or SQL Server Subscription contract" />
                <key name="IAcceptSQLServerLicenseTerms" value="True" />
            </keys>
        </file>
        <file use="1" pkg="CONFIGMGR" name="cmsetup.ini" path="F:\CM_BUILD" force="true" comment="ConfigMgr Installation file">
            <keys>
                <key name="__SECTION1" value="Identification" comment="do not modify" />
                <key name="Action" value="InstallPrimarySite" />
                <key name="__SECTION2" value="Options" comment="do not modify" />
                <!--<key name="ProductID" value="EVAL" />-->
                <key name="ProductID" value="xxxxx-xxxxx-xxxxx-xxxxx-xxxxx" />
                <key name="SiteCode" value="@SITECODE@" />
                <key name="SiteName" value="Primary Site 1" />
                <key name="SMSInstallDir" value="E:\ConfigMgr" />
                <key name="SDKServer" value="@HOSTNAME@" />
                <key name="RoleCommunicationProtocol" value="HTTPorHTTPS" />
                <key name="ClientsUsePKICertificate" value="0" />
                <key name="PrerequisiteComp" value="0" />
                <key name="PrerequisitePath" value="F:\CMPREREQS" comment="path for downloading prereqs" />
                <key name="ManagementPoint" value="@HOSTNAME@" />
                <key name="ManagementPointProtocol" value="HTTP" />
                <key name="DistributionPoint" value="@HOSTNAME@" />
                <key name="DistributionPointProtocol" value="HTTP" />
                <key name="DistributionPointInstallIIS" value="0" />
                <key name="AdminConsole" value="1" />
                <key name="JoinCEIP" value="0" />
                <key name="__SECTION3" value="SQLConfigOptions" comment="do not modify" />
                <key name="SQLServerName" value="@HOSTNAME@" />
                <key name="DatabaseName" value="CM_@SITECODE@" />
                <key name="SQLSSBPort" value="4022" />
                <key name="__SECTION4" value="CloudConnectorOptions" comment="do not modify" />
                <key name="CloudConnector" value="1" />
                <key name="CloudConnectorServer" value="@HOSTNAME@" />
                <key name="UseProxy" value="0" />
                <key name="ProxyName" value="" />
                <key name="ProxyPort" value="" />
                <key name="__SECTION5" value="SystemCenterOptions" comment="do not modify" />
                <key name="__SECTION6" value="SABranchOptions" comment="do not modify" />
                <key name="SAActive" value="1" comment="Software Assurance active" />
                <key name="CurrentBranch" value="1" />
                <key name="SAExpiration" value="2024-10-28 00:00:00.000" comment="SA initiation date" />
                <key name="__SECTION7" value="HierarchyExpansionOption" comment="do not modify" />
            </keys>
        </file>
    </files>
    <features comment="Windows Server roles and features">
        <feature use="1" name="SERVERROLES" comment="Prerequisite roles">BITS,BITS-IIS-Ext,NET-Framework-45-ASPNET,NET-Framework-Core,NET-Framework-Features,NET-WCF-HTTP-Activation45,RDC,RSAT-Bits-Server,WAS,WAS-Config-APIs,WAS-Process-Model,Web-App-Dev,Web-Asp-Net,Web-Asp-Net45,Web-Common-Http,Web-Default-Doc,Web-Dir-Browsing,Web-Filtering,Web-Health,Web-Http-Errors,Web-Http-Logging,Web-Http-Redirect,Web-Http-Tracing,Web-ISAPI-Ext,Web-ISAPI-Filter,Web-Log-Libraries,Web-Metabase,Web-Mgmt-Compat,Web-Mgmt-Console,Web-Mgmt-Tools,Web-Net-Ext,Web-Net-Ext45,Web-Performance,Web-Request-Monitor,Web-Security,Web-Server,Web-Stat-Compression,Web-Static-Content,Web-WebServer,Web-Windows-Auth,Web-WMI</feature>
        <feature use="1" name="WSUS" comment="WSUS role">UpdateServices-Services,UpdateServices-DB,UpdateServices-RSAT</feature>
    </features>
    <regkeys comment="Custom registry keys">
        <regkey use="1" name="ADK1703Fix" order="after" path="HKLM:\SYSTEM\CurrentControlSet\Services\WIMMount" value="ImagePath" data="system32\drivers\wimmount.sys" comment="https://blogs.technet.microsoft.com/mniehaus/2017/05/16/quick-workaround-for-adk-1703-issue" />
        <regkey use="1" name="SAMPLE" order="before" path="HKLM:\SOFTWARE\CM_BUILD\TEST" value="V1" data="123" comment="Sample" />
    </regkeys>
    <sqloptions comment="SQL Server configuration settings">
        <sqloption use="1" name="SqlServerMemoryMax" db="ALL" param="80%" comment="Set memory to 80 percent of total" />
        <sqloption use="1" name="SetDBRecoveryModel" db="ReportServer" param="SIMPLE" comment="Set recovery model to SIMPLE" />
    </sqloptions>
</configuration>