Skip to content

Instantly share code, notes, and snippets.

@lennybacon
Last active November 7, 2019 08:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save lennybacon/85df5b2c15e475ccffbb0e9656ae434b to your computer and use it in GitHub Desktop.
Save lennybacon/85df5b2c15e475ccffbb0e9656ae434b to your computer and use it in GitHub Desktop.
Install Microsoft SQL Server 2019 unattended
$setupPath = ".\Setup.exe";
$productKey = "XXX";
$instanceName = "MSSQLSERVER";
$version = "2019";
$collation = "Latin1_General_CI_AS";
$serviceAccount = "";
$serviceAccountPassword = "";
$currentUser = [System.Environment]::UserDomainName + "\" + [System.Environment]::UserName;
$sqlAdminAccount = "";
$sqlAdminGroup = "";
$sqlRootDir = "D:\SQL";
$argumentList = `
"/Q " +`
"/ACTION=`"Install`" " +`
"/PID=`"$productKey`" "+ `
"/FEATURES=`"SQLENGINE,AS,IS`" "+ `
"/UpdateEnabled=`"False`" "+ `
"/INDICATEPROGRESS "+ `
"/IAcceptSQLServerLicenseTerms "+ `
"/IACCEPTROPENLICENSETERMS " + `
"/INSTANCEID=`"$instanceName`" "+ `
"/INSTANCENAME=`"$instanceName`" "+ `
"/ERRORREPORTING=`"False`" "+
"/TCPENABLED=`"1`" " +`
"/NPENABLED=`"0`" "+`
"/AGTSVCACCOUNT=`"$serviceAccount`" " +`
"/AGTSVCPASSWORD=`"$serviceAccountPassword`" " +`
"/AGTSVCSTARTUPTYPE=`"Automatic`" " +`
"/ASSVCACCOUNT=`"$serviceAccount`" " +`
"/ASSVCPASSWORD=`"$serviceAccountPassword`" " +`
"/ASSYSADMINACCOUNTS=`"$currentUser`" `"$sqlAdminAccount`" `"$sqlAdminGroup`" `"BUILTIN\Administrators`" " +
"/ASSVCSTARTUPTYPE=`"Automatic`" " +`
"/ASDATADIR=`"$sqlRootDir\MSSQL$($version)\OLAP\Data`" " +`
"/ASLOGDIR=`"$sqlRootDir\MSSQL$($version)\OLAP\Logs`" " +`
"/ASBACKUPDIR=`"$sqlRootDir\MSSQL$($version)\Backup`" " +`
"/ASTEMPDIR=`"$sqlRootDir\MSSQL$($version)\OLAP\Temp`" " +`
"/ASCONFIGDIR=`"$sqlRootDir\MSSQL$($version)\OLAP\Config`" " +`
"/SQLBACKUPDIR=`"$sqlRootDir\MSSQL$($version)\Backup`" " +`
"/SQLSVCACCOUNT=`"$serviceAccount`" " +`
"/SQLSVCPASSWORD=`"$serviceAccountPassword`" " +`
"/SQLSYSADMINACCOUNTS=`"$currentUser`" `"$sqlAdminAccount`" `"$sqlAdminGroup`" `"BUILTIN\Administrators`" " +`
"/SQLSVCSTARTUPTYPE=`"Automatic`" " +`
"/SQLTEMPDBDIR=`"$sqlRootDir\MSSQL$($version)\SQL\Temp`" " +`
"/SQLTEMPDBLOGDIR=`"$sqlRootDir\MSSQL$($version)\SQL\Temp`" " +`
"/SQLUSERDBDIR=`"$sqlRootDir\MSSQL$($version)\SQL\Data`" " +`
"/SQLUSERDBLOGDIR=`"$sqlRootDir\MSSQL$($version)\SQL\Data`" " +`
"/FILESTREAMLEVEL=`"3`" " +`
"/FILESTREAMSHARENAME=`"MSSQLSERVER`" " +`
"/BROWSERSVCSTARTUPTYPE=`"Automatic`" " +`
"/ISSVCACCOUNT=`"$serviceAccount`" " +`
"/ISSVCPASSWORD=`"$serviceAccountPassword`" " +`
"/ISSVCStartupType=`"Automatic`" " + `
"/SQLTELSVCSTARTUPTYPE=`"Automatic`" " + `
"/ASTELSVCSTARTUPTYPE=`"Automatic`" " + `
"/SQLCOLLATION=`"$collation`"";
$process = Start-Process $setupPath `
-ArgumentList $argumentList `
-PassThru `
-NoNewWindow `
-Wait `
-RedirectStandardOutput $pwd\sql_stdout.txt `
-RedirectStandardError $pwd\sql_stderr.txt
if($process.ExitCode -ne 0){
Write-Host "Setup failed" -ForegroundColor Red;
} else {
Write-Host "Setup succeeded" -ForegroundColor Red;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment