MS SQLとPostgreSQLの両方をサポートしているアプリが実は結構あって、どちらかをいれなきゃいけないんだけど、インストーラーをぽちぽちするのは面倒。特にMS SQLは結構面倒。なので、簡単にインストールができるスクリプトを作ってみた。
閑話休題
MS SQL Server 2022をサクッとスクリプトでインストール
SA認証を有効にしてある。
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
$ISOImagePath = "<ファイルサーバUNCパス>\SQLServer2022-x64-JPN.iso"
$SQLPassword = "<パスワード>"
write-host "Mouunting ISO image"
Mount-DiskImage -ImagePath $ISOImagePath
get-diskimage $ISOImagePath
$mountedDrive = (Get-DiskImage $ISOImagePath | Get-Volume).DriveLetter
$setupPath = $mountedDrive + ":\Setup.exe"
#Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled False
$setupArgs = '/q /ACTION=Install /INSTANCENAME="MSSQLSERVER" /FEATURES=SQLEngine /SQLSVCACCOUNT="NT AUTHORITY\SYSTEM" /AGTSVCACCOUNT="NT AUTHORITY\SYSTEM" /SQLSYSADMINACCOUNTS="BUILTIN\Administrators" /IACCEPTSQLSERVERLICENSETERMS /TCPENABLED=1 /UPDATEENABLED="False" /SECURITYMODE=SQL /SAPWD="' + $SQLPassword + '"'
Start-Process -FilePath $setupPath -Argumentlist $setupArgs -NoNewWindow -Wait | Out-Null
write-host "Unmouunting ISO image"
Dismount-DiskImage -ImagePath $ISOImagePath
write-host "Done"
pause
PostgreSQL for Windowsをサクッとスクリプトでインストール
pgAdminは、別途入れるのでPostgreSQLのインストールオプションから外してある。また、Stackbuilderも外してある。
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process
$postgresCommand = '<ファイルサーバUNCパス>\postgresql-15.4-1-windows-x64.exe'
$pgAdminCommand = '<ファイルサーバUNCパス>\pgadmin4-7.8-x64.exe'
$password = "<パスワード>"
$locale = "<ロケール>"
# Install PostgreSQL
Write-host "Installing PostgreSQL"
$postgresArgs = "--mode unattended --unattendedmodeui none --enable-components server,commandlinetools --disable-components pgAdmin,stackbuilder --superpassword `"$password`" --locale `"$locale`""
Start-Process -FilePath $postgresCommand -ArgumentList $postgresArgs -NoNewWindow -Wait
# Install pgAdmin4
Write-host "Installing pgAdmin4"
$pgAdminArgs = "/SP- /VERYSILENT /SUPPRESSMSGBOXES /NORESTART /ALLUSERS"
Start-Process -FilePath $pgAdminCommand -ArgumentList $pgAdminArgs -NoNewWindow -Wait
Write-host "Done"
pause
まぁ、誰得なのかわからないが。。。