說明如何安裝 Windows Server Core,也就是沒有完整桌面 GUI (Desktop Experience) 的伺服器作業系統。能夠讓伺服器資源運用更為效率,並且提高作業系統的安全性。
說明
Server Core 的特色是不最少化的 GUI 工具,讓作業系統對資源占用少,減少安裝的功能,從而提升作業系統的安全性。但相對在管理上必須使用 CLI 工具,原本習慣的管理作業需要有對應的陣痛轉換成在 Server Core 下完成。
而只要突破陣痛,未來就可以享受用 CLI 重複與自動化作業的便利性,例如從 GUI 安裝 SQL Server 到使用 Setup.exe 安裝。
安裝 Feature On Demand
為了弭平 Server Core 直接使用 CLI 與以往 GUI 的落差以及部分程式的相同性,可以額外安裝 Feature On Demand (FOD) 來擴大 Server Core 的 GUI 支援。
首先確認目前可以供安裝的版本
Get-WindowsCapability -Online -Name Server*
進行安裝,注意 slash 共有 4 個 (筆者在這邊卡了一個小時 😥)
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
如果 Server 環境不支援連網或者連網速度有限,也可以使用掛載 FOD.iso 的方式進行安裝,可以前往 Windows Server 2022 | Evaluation Center 取得 FOD.iso,並進行掛載方式。
$fodIso = Mount-DiskImage -ImagePath "D:\FOD.iso"
$fodDriveLetter = ($fodIso | Get-Volume).DriveLetter
確認掛載的 Drive 後,要加上 Source 參數方式指定來源。
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0 -Source D:\ -LimitAccess
安裝完成後需要重新啟動作業系統,接著輸入 explorer
驗證可以成功開啟檔案總管,就順利安裝完成囉 😉
基本優化
Set-DisplayResolution
預設的解析度只有 800x600,可以藉由 PowerShell 來設定解析度:
Set-DisplayResolution 1440 900
加入網域
首先使用 sconfig
設定網域下的 DNS:
8 (Network Settings) => 1 (選擇網路卡) => 2 (Set DNS Server)
接著再進行網域加入:
1 (Domain/WorkGroup) => D => 輸入管理者帳號進行網域加入
資料夾安全性
確認安全性
icacls D:\folder
授予安全性
icacls D:\folder /grant "NT Service\SQLSERVERAGENT":(OI)(CI)(F)
Server Roles
安裝 SQL Server
詳細可以參考 SQL Server 安裝使用 Setup.exe (Windows Server Core),說明如何在 Server Core 上安裝 standalone 的 SQL Server。
安裝 IIS
使用 PowerShell 進行 Add-WindowsFeature
安裝:
Add-WindowsFeature web-server -IncludeManagementTools
詳盡的 IIS 功能可以從 Get-WindowsFeature
查詢,以及參考 如何安裝 IIS (How to install IIS On Windows Server) 的介紹。
完成安裝後,Server Core 不支援在本機使用 inetmgr
進行管理,可以參考 IIS Remote Administration 從其他具有 Desktop Experince 或者是 PC 端遠端連線,進行 IIS 管理。