You can install SQL with a ini file by running from an elevated command line setup.exe /ConfigurationFile=Yourconfigurationfile.ini below is what I use for my own configuration file
; *************************************************************************** ; ; Created: 2017-01-21 ; Version: 1.0 ; ; Disclaimer: ; This script is provided "AS IS" with no warranties, confers no rights and ; is not supported by the authors. ; ; Author - Kris Gross ; ; ; *************************************************************************** ;SQL Server 2016 Configuration File [OPTIONS] ; Agree to terms IACCEPTSQLSERVERLICENSETERMS="True" ; Specifies a Setup work flow, like INSTALL, UNINSTALL, or UPGRADE. This is a required parameter. ACTION="Install" ; Detailed help for command line argument ENU has not been defined yet. ENU="True" ; Parameter that controls the user interface behavior. Valid values are Normal for the full UI,AutoAdvance for a simplied UI, and EnableUIOnServerCore for bypassing Server Core setup GUI block. ; UIMODE="Normal" ; Setup will not display any user interface. ;QUIET="True" ; Setup will display progress only, without any user interaction. QUIETSIMPLE="True" ; Specify whether SQL Server Setup should discover and include product updates. The valid values are True and False or 1 and 0. By default SQL Server Setup will include updates that are found. UpdateEnabled="True" ; Specifies features to install, uninstall, or upgrade. The list of top-level features include SQL, AS, RS, IS, MDS, and Tools. The SQL feature will install the Database Engine, Replication, Full-Text, and Data Quality Services (DQS) server. The Tools feature will install Management Tools, Books online components, SQL Server Data Tools, and other shared components. FEATURES=SQLENGINE,RS,CONN,SSMS,ADV_SSMS ; Specify the location where SQL Server Setup will obtain product updates. The valid values are "MU" to search Microsoft Update, a valid folder path, a relative path such as .\MyUpdates or a UNC share. By default SQL Server Setup will search Microsoft Update or a Windows Update service through the Window Server Update Services. UpdateSource="MU" ; Displays the command line parameters usage HELP="False" ; Specifies that the detailed Setup log should be piped to the console. INDICATEPROGRESS="False" ; Specifies that Setup should install into WOW64. This command line argument is not supported on an IA64 or a 32-bit system. X86="False" ; Specify the root installation directory for shared components. This directory remains unchanged after shared components are already installed. INSTALLSHAREDDIR="C:\Program Files\Microsoft SQL Server" ; Specify the root installation directory for the WOW64 shared components. ThisdirectoryremainsunchangedafterWOW64sharedcomponentsarealreadyinstalled.INSTALLSHAREDWOWDIR="C:\Program Files (x86)\Microsoft SQL Server" ; Specify a default or named instance. MSSQLSERVER is the default instance for non-Express editions and SQLExpress for Express editions. This parameter is required when installing the SQL Server Database Engine (SQL), Analysis Services (AS), or Reporting Services (RS). INSTANCENAME="MSSQLSERVER" ; Specify the Instance ID for the SQL Server features you have specified. SQL Server directory structure, registry structure, and service names will incorporate the instance ID of the SQL Server instance. INSTANCEID="MSSQLSERVER" ; Specify that SQL Server feature usage data can be collected and sent to Microsoft. Specify 1 or True to enable and 0 or False to disable this feature. SQMREPORTING="False" ERRORREPORTING="False" ;UpdateSOURCE="C:\Setup\SQL2014CU" ; RSInputSettings_RSInstallMode_Description RSINSTALLMODE="DefaultNativeMode" ; Specify if errors can be reported to Microsoft to improve future SQL Server releases. Specify 1 or True to enable and 0 or False to disable this feature. ERRORREPORTING="True" ; Specify the installation directory. INSTANCEDIR="C:\Program Files\Microsoft SQL Server" ; Agent account name AGTSVCACCOUNT="NT Service\SQLSERVERAGENT" ; Auto-start service after installation. AGTSVCSTARTUPTYPE="Manual" ; CM brick TCP communication port COMMFABRICPORT="0" ; How matrix will use private networks COMMFABRICNETWORKLEVEL="0" ; How inter brick communication will be protected COMMFABRICENCRYPTION="0" ; TCP port used by the CM brick MATRIXCMBRICKCOMMPORT="0" ; Startup type for the SQL Server service. SQLSVCSTARTUPTYPE="Automatic" ; Level to enable FILESTREAM feature at (0, 1, 2 or 3). FILESTREAMLEVEL="0" ; Set to "1" to enable RANU for SQL Server Express. ENABLERANU="False" ; Specifies a Windows collation or an SQL collation to use for the Database Engine. SQLCOLLATION="SQL_Latin1_General_CP1_CI_AS" ; Account for SQL Server service: Domain\User or system account. SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" ; Windows account(s) to provision as SQL Server system administrators. SQLSYSADMINACCOUNTS="home\Administrator" "Home\Domain Admins" ; Default directory for the Database Engine backup files. ;SQLBACKUPDIR="\\IT-CMMP\F:\SQLBCK" ; Default directory for the Database Engine user databases. SQLUSERDBDIR="E:\SQLDB" ; Default directory for the Database Engine user database logs. SQLUSERDBLOGDIR="L:\SQLLOG" ; Directory for Database Engine TempDB files. SQLTEMPDBDIR="T:\SQLTMP" ; Provision current user as a Database Engine system administrator for SQL Server 2012 Express. ADDCURRENTUSERASSQLADMIN="False" ; Specify 0 to disable or 1 to enable the TCP/IP protocol. TCPENABLED="1" ; Specify 0 to disable or 1 to enable the Named Pipes protocol. NPENABLED="0" ; Startup type for Browser Service. BROWSERSVCSTARTUPTYPE="Disabled" ; Specifies which account the report server NT service should execute under. When omitted or when the value is empty string, the default built-in account for the current operating system. ; The username part of RSSVCACCOUNT is a maximum of 20 characters long and ; The domain part of RSSVCACCOUNT is a maximum of 254 characters long. RSSVCACCOUNT="Home\SQLReporting" RSSVCPASSWORD="P@ssword1" ; Specifies how the startup mode of the report server NT service. When ; Manual - Service startup is manual mode (default). ; Automatic - Service startup is automatic mode. ; Disabled - Service is disabled RSSVCSTARTUPTYPE="Automatic"
Before I have posted how you can create a TS for windows 10 , add a GUI to your TS and run a script to configure your windows 10 install . However all of this has become out dated and so I wanted to update all of that. This how to will walk you through how to create a TS that will allow you to choose a windows 10 or windows 7 image, name the computer, add the computer description to AD, Choose form a list what applications you want to install, Choose to enable BitLocker and set the PIN as well as create a local account. Prerequisites: MDT integrated to SCCM A boot image with the following components added Windows Powershell(WinPE-DismCmdlest) HTML(WinPE-HTA) Microsoft .NET (WinPE-NetFx) Windows Powershell (WinPE-Powershell) A windows 10 and windows 7 image 1. Download the package I have put together containing the scripts you will need https://github.com/sccmtst/SCCM-Management-Scripts/tree/master/TSGUI 2. If you have not already done so download and instal
Now that you have figured out your SCCM hierarchy and server requirements for your site its time to start building your servers. If you have not done this yep please review the Preparing for SCCM page before starting any installs Below is what I will be using for my own examples. OS - Server 2016 Standard SQL - 2016 Standard SCCM 1702 ADK 1607 SQL Server Management Studio 17.1 SCCM Settings: Site code - TST Site Name - SCCMTST Lab Servers: SCCM-Setup - Primary Site Server, Distribution point, SQL and Software Update Point Every server that is a part of your SCCM site will want to have 1 drive for the OS, 1 drive for the page file and 1 drive for the program files. For your Distribution point you will want to add a drive for your SCCM content to sit on and a drive from the distribution point content. SCCM will story its one copy of the packages, Applications and Image files on the Distribution content drive. For Your Software Update Point server you will want