はじめに
OSSのノーコード・ローコード開発ツール「プリザンター」 Advent Calendar 2025 の 2 つの記事を見て、Windows 環境でも半自動でプリザンターのセットアップができるか試してみました。
SQL Server のインストールに GUI 操作が必要なため、残念ながら完全な自動化はできませんでしたが、PowerShell スクリプトで多くの手順を自動化できました。
前提条件
- Windows 11 または Windows Server 環境。
- WinGet がインストールされていること。
- PowerShell 5.1 以降がインストールされていること。
- インターネットに接続されていること。
- 確認したプリザンターのバージョンは次の通りです。
各コマンドは管理者権限で実行してください。
Windows の機能の有効化
Windows 11 環境の場合
公式マニュアルはこちらです。
- 動作確認した環境は Windows 11 Enterprise です。
「Windows の機能の有効化または無効化」の操作は Enable-WindowsOptionalFeature コマンドレットを使用します。
Enable-WindowsOptionalFeature -FeatureName @(
'IIS-WebServerRole'
'IIS-WebServer'
'IIS-CommonHttpFeatures'
'IIS-ApplicationDevelopment'
'IIS-Security'
'IIS-RequestFiltering'
'IIS-NetFxExtensibility45'
'IIS-WebServerManagementTools'
'IIS-StaticContent'
'IIS-DefaultDocument'
'IIS-ISAPIFilter'
'IIS-ISAPIExtensions'
'IIS-ASPNET45'
'IIS-ManagementConsole'
'NetFx4Extended-ASPNET45'
) -Online -All
また、FAQ には WebDAV 発行が有効だと新規作成はできるが、更新・削除ができないとあります。
必要に応じて次のスクリプトを実行してください。
Disable-WindowsOptionalFeature -FeatureName @(
'IIS-WebDAV'
) -Online
スクリプトの作成方法
手動で設定した後の端末で Get-WindowsOptionalFeature を実行すると、有効化されている機能の一覧が取得できます。
次の出力例では既定で有効になっている機能が含まれています。
これを参考に必要な機能を有効化するスクリプトを作成しました。
Get-WindowsOptionalFeature -Online | Where-Object -Property State -EQ 'Enabled' | Select-Object -ExpandProperty FeatureName
Windows-Defender-Default-Definitions
+ IIS-WebServerRole
+ IIS-WebServer
+ IIS-CommonHttpFeatures
+ IIS-ApplicationDevelopment
+ IIS-Security
+ IIS-RequestFiltering
+ IIS-NetFxExtensibility45
+ IIS-WebServerManagementTools
WorkFolders-Client
WCF-Services45
WCF-TCP-PortSharing45
+ IIS-StaticContent
+ IIS-DefaultDocument
+ IIS-ISAPIFilter
+ IIS-ISAPIExtensions
+ IIS-ASPNET45
+ IIS-ManagementConsole
MediaPlayback
WindowsMediaPlayer
SmbDirect
Printing-PrintToPDFServices-Features
SearchEngine-Client-Package
Microsoft-RemoteDesktopConnection
Printing-Foundation-Features
Printing-Foundation-InternetPrinting-Client
MSRDC-Infrastructure
NetFx4-AdvSrvs
+ NetFx4Extended-ASPNET45
Windows Server 環境の場合
公式マニュアルは こちらです。
- 動作確認した環境は Windows Server 2025 です。
「役割と機能の追加」の操作には Install-WindowsFeature コマンドレットを使用します。
Install-WindowsFeature -Name @(
'Web-Server'
'Web-WebServer'
'Web-Common-Http'
'Web-Http-Errors'
'Web-Dir-Browsing'
'Web-Default-Doc'
'Web-Static-Content'
'Web-Security'
'Web-Filtering'
'Web-Performance'
'Web-Stat-Compression'
'Web-Health'
'Web-Http-Logging'
'Web-Mgmt-Tools'
'Web-Mgmt-Console'
)
IIS の設定
IIS を有効にすると WebAdministration Module が利用可能になります。
IIS マネージャの操作はこのモジュールを使用します。
Import-Module -Name 'WebAdministration'
$installDir = 'C:\web\pleasanter'
Set-ItemProperty -Path 'IIS:\AppPools\DefaultAppPool' -Name 'processModel.idleTimeoutAction' -Value 'Suspend'
Set-ItemProperty -Path 'IIS:\AppPools\DefaultAppPool' -Name 'managedRuntimeVersion' -Value ''
Set-ItemProperty -Path 'IIS:\Sites\Default Web Site\' -Name 'physicalPath' -Value "$installDir\Implem.Pleasanter"
SQL Server 2025 Express のインストール
公式マニュアルはこちらです。
構成ファイル (ConfigurationFile.ini) は、2025 になった SQL Server をプリザンター向けにセットアップの記事を参考に作成してください。
Winget から SQL Server 2025 Express のインストーラ (SQL2025-SSEI-Expr.exe) をダウンロードします。
インストーラから取得した SQLEXPR_x64_JPN.exe と SETUP.EXE を順に実行します。
# Microsoft から `SQL2025-SSEI-Expr.exe` をダウンロードします。
# ここから構成ファイルを指定して直接インストールすることも可能ですが、
# `SETUP.EXE` で指定できる引数も構成ファイルで指定する必要があります。
# 指定できる引数は次のコマンドを実行して確認してください。
# SQL2025-SSEI-Expr.exe /?
$MEDIAPATH = Get-Location
$arguments = @(
'/ACTION=Download'
'/LANGUAGE=ja-JP'
"/MEDIAPATH=`"$MEDIAPATH`""
'/MEDIATYPE=Core'
'/QUIET'
'/VERBOSE'
) -join ' '
winget.exe install 'Microsoft.SQLServer.2025.Express' --source winget --exact --silent --accept-package-agreements --accept-source-agreements --override $arguments
# `SQLEXPR_x64_JPN.exe` を実行してファイルを展開します。
$media = $MEDIAPATH | Join-Path -ChildPath 'SQLEXPR_x64_JPN.exe'
Start-Process -FilePath $media -ArgumentList '/Q' -NoNewWindow -Wait
# 展開された `SETUP.EXE` を実行してインストールします。
$setup = $MEDIAPATH | Join-Path -ChildPath 'SQLEXPR_x64_JPN\SETUP.EXE'
$ConfigurationFile = Get-Location | Join-Path -ChildPath 'ConfigurationFile.ini'
$password = Read-Host -Prompt 'Enter password for SQL Server sa account.' -AsSecureString
$arguments = @(
'/ACTION=Install'
"/CONFIGURATIONFILE=`"$ConfigurationFile`""
"/SQLSYSADMINACCOUNTS=`"$([System.Security.Principal.WindowsIdentity]::GetCurrent().Name)`""
"/SAPWD=`"$([System.Net.NetworkCredential]::new([string]::Empty, $password).Password)`""
'/IACCEPTSQLSERVERLICENSETERMS'
'/SUPPRESSPAIDEDITIONNOTICE="True"'
'/TCPENABLED=1'
'/QUIET'
)
& $setup @arguments
マニュアルでは SQL Server 2025 構成マネージャを操作して TCP/IP を有効にする手順が記載されていますが、
SETUP.EXE の引数に /TCPENABLED=1 を指定したことで TCP/IP が有効になっているのでこの手順は不要です。
WMI 経由で TCP/IP を有効にする方法
- WMI プロバイダに関するドキュメントは こちらです。
- WMI 名前空間
root\Microsoft\SqlServer\ComputerManagement17は SQL Server 2025 用です。SQL Server のバージョンに応じて変更してください。 - 再起動するサービス名は、インスタンス ID に応じて変更してください。既定のインスタンスの場合は
MSSQLSERVERです。-
ConfigurationFile.iniにはINSTANCEIDにインスタンス ID が指定されています。
-
INSTANCEID="MSSQLSERVER"
$wmi = Get-WmiObject -Class ServerNetworkProtocol -Namespace 'root\Microsoft\SqlServer\ComputerManagement17' |
Where-Object -Property ProtocolName -EQ 'Tcp'
$wmi.SetEnable()
net.exe stop MSSQLSERVER
net.exe start MSSQLSERVER
SQL Server Management Studio のインストール
公式マニュアルはこちらです。
WinGet から SQL Server Management Studio (SSMS) 22 をインストールします。
winget.exe install --id 'Microsoft.SQLServerManagementStudio.22' --source winget --exact --silent --accept-package-agreements --accept-source-agreements
.NET のインストール
WinGet から .NET 10.0 の SDK と Hosting Bundle をインストールします。
winget.exe install --id 'Microsoft.DotNet.SDK.10' --source winget --exact --silent --accept-package-agreements --accept-source-agreements
winget.exe install --id 'Microsoft.DotNet.HostingBundle.10' --source winget --exact --silent --accept-package-agreements --accept-source-agreements
バージョン 1.4 の場合
公式マニュアルはこちらです。
WinGet から .NET 8.0 の SDK と Hosting Bundle をインストールします。
winget.exe install --id 'Microsoft.DotNet.SDK.8' --source winget --exact --silent --accept-package-agreements --accept-source-agreements
winget.exe install --id 'Microsoft.DotNet.HostingBundle.8' --source winget --exact --silent --accept-package-agreements --accept-source-agreements
インストーラを使用したプリザンターのインストール
公式マニュアルはこちらです。
バージョン 1.5 から DB に SQL Server を使用する際の接続文字列についての注意事項 が追加されています。必ず確認してください。
インストーラを使用してプリザンターをインストールします。
dotnet.exe tool install --global Implem.PleasanterSetup
pleasanter-setup.exe
おわりに
以上で、Windows 環境へのプリザンターのセットアップは完了です。
公式マニュアルを参考にしながら、環境に合わせて設定を調整してください。
