共用方式為


Server Core 隨需應用程式相容性功能

從 Windows Server 2019 開始,Server Core 隨需應用程式相容性功能(FOD) 是一個可選功能套件,可以隨時新增至 Windows Server 中的 Server Core 安裝。

如需其他功能隨選的詳細資訊,請參閱 功能隨選

為什麼要安裝應用程式相容性 FOD?

Server Core 的應用程式相容性功能隨選可藉由包含來自 [具有桌面體驗的伺服器] 安裝選項的二進位檔和套件子集來改善應用程式相容性。 此選用套件可在不同的 ISO 或 Windows Update 上使用,但只能新增至 Server Core 安裝和映像。

應用程式相容性 FOD 提供的兩個主要值如下:

  • 針對已在市場或部署的伺服器應用程式,增加 Server Core 的相容性。
  • 協助提供作業系統元件,增加軟體與應用程式的相容性,以幫助解決嚴重疑難解答和偵錯案例。

作為 Server Core 應用程式相容性 FOD 一部分的作業系統元件包括,

  • Microsoft管理控制台 (mmc.exe)

  • 事件檢視器 (Eventvwr.msc)

  • 效能監視器 (PerfMon.exe)

  • 資源監視器 (Resmon.exe)

  • 裝置管理員 (devmgmt.msc)

  • 檔案總管 (Explorer.exe)

  • Windows PowerShell (Powershell_ISE.exe)

  • 磁碟管理 (Diskmgmt.msc)

  • 故障轉移叢集管理員 (CluAdmin.msc)

    備註

    故障轉移叢集管理員需要先新增故障轉移叢集 Windows Server 功能,這可以透過從提升許可權的 PowerShell 會話執行下列命令來完成:

    Install-WindowsFeature -Name Failover-Clustering -IncludeManagementTools
    

從 Windows Server 2022 開始,也可以使用下列軟體元件(當使用相同版本的應用程式相容性 FOD 時):

  • Hyper-V 管理員 (virtmgmt.msc)

  • 任務排程器 (taskschd.msc)

視需要安裝應用程式相容性功能

這很重要

  • 應用程式相容性 FOD 只能安裝在 Server Core 上。 請勿嘗試將 Server Core 應用程式相容性 FOD 新增至 [具有桌面體驗的伺服器] 安裝選項。
  • 對於運行 Windows Server 2022 的伺服器,請確保您已安裝 2022-01 Microsoft 伺服器作業系統的累積更新預覽版 (版本 21H2,適用於 x64 型系統,KB5009608) 或更高版本的累積更新,然後再安裝應用程式相容性 FOD。 您可以藉由檢查作業系統建置編號是否為 20348.502 或以上版本來確認這一點。 在此之前,如果您嘗試使用遠端桌面通訊協定 (RDP) 連線到伺服器,您可以看到黑色螢幕並中斷連線。

連接到網際網路

  1. 如果伺服器可以連線到 Windows Update,請從提升許可權的 PowerShell 會話執行下列命令,然後在命令完成執行之後重新啟動 Windows Server:

    Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
    

已中斷因特網連線

  1. 如果伺服器無法連線到 Windows Update,請改為下載 Windows Server 語言和選擇性功能 ISO 映像檔,並將 ISO 複製到局域網路上的共享資料夾:

    • 如果您有大量授權,您可以從取得作系統 ISO 映像檔案的相同入口網站下載 Windows Server 語言和選擇性功能 ISO 映像檔: 大量授權服務中心
    • Windows Server 語言和選用功能 ISO 映射檔也可在 Microsoft 評估中心Visual Studio 入口網站上供訂閱者使用。

    備註

    Windows Server 2022 的語言和選擇性功能 ISO 映像檔是新的。 舊版 Windows Server 使用功能隨選 (FOD) ISO。

  2. 使用系統管理員帳戶登入連接到您局域網路的 Server Core 電腦,然後將應用程式相容性 FOD 新增至該電腦。

安裝 FOD ISO

  1. 使用 PowerShell 中的 New-PSDrive、命令提示字元中的 net use,或其他方法,連線至 FOD ISO 的位置。 例如,在提升權限的 PowerShell 工作階段中,執行以下命令:

    $credential = Get-Credential
    
    New-PSDrive -Name FODShare -PSProvider FileSystem -Root "\\server\share" -Credential $credential
    
  2. 將 FOD ISO 複製到您選擇的本機資料夾(複製作業可能需要一些時間)。 使用資料夾位置和 ISO 檔案名編輯下列變數,然後執行下列命令,例如:

    $isoFolder = "C:\SetupFiles\WindowsServer\ISOs"
    $fodIsoFilename = "FOD_ISO_filename.iso"
    
    New-Item -ItemType Directory -Path $isoFolder
    Copy-Item -Path "FODShare:\$fodIsoFilename" -Destination $isoFolder -Verbose
    
  3. 使用下列命令掛接 FOD ISO:

    $fodIso = Mount-DiskImage -ImagePath "$isoFolder\$fodIsoFilename"
    
  4. 執行下列命令以取得 FOD ISO 已掛接至的驅動器號:

    $fodDriveLetter = ($fodIso | Get-Volume).DriveLetter
    
  5. 執行下列命令(視作系統版本而定):

    針對 Windows Server 2022:

    Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0 -Source ${fodDriveLetter}:\LanguagesAndOptionalFeatures\ -LimitAccess
    

    針對舊版 Windows Server:

    Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0 -Source ${fodDriveLetter}:\ -LimitAccess
    
  6. 進度列完成後,請重新啟動作業系統。

選擇性地將 Internet Explorer 11 新增至 Server Core

備註

新增 Internet Explorer 11 需要 Server Core 應用程式相容性 FOD,但要新增 Server Core 應用程式相容性 FOD 則不需要 Internet Explorer 11。

備註

從 Windows Server 2022 開始,雖然 Internet Explorer 11 可以新增至 Windows Server 的 Server Core 安裝,但應該改用 Microsoft Edge 。 Microsoft Edge 內建 Internet Explorer 模式 (“IE 模式”),因此您可以直接從 Microsoft Edge 存取舊版 Internet Explorer 型網站和應用程式。 如需 Internet Explorer 生命週期原則的相關信息,請參閱 這裡

  1. 以已新增應用程式相容性 FOD 的 Server Core 電腦上的系統管理員身分登入,並在本機複製 FOD 選用套件 ISO。

  2. 使用下列命令掛接 FOD ISO。 此步驟假設您已在本機複製 FOD ISO。 如果沒有,請完成載入 FOD ISO中的步驟 1 和 2。 這些命令會遵循這兩個步驟。 使用資料夾位置和 ISO 檔案名編輯變數,然後執行下列命令,例如:

    $isoFolder = "C:\SetupFiles\WindowsServer\ISOs"
    $fodIsoFilename = "FOD_ISO_filename.iso"
    
    $fodIso = Mount-DiskImage -ImagePath "$isoFolder\$fodIsoFilename"
    
  3. 執行下列命令以取得 FOD ISO 已掛接至的磁碟機代號:

    $fodDriveLetter = ($fodIso | Get-Volume).DriveLetter
    
  4. 執行下列命令(視您的作系統版本而定),使用 $packagePath 變數作為 Internet Explorer .cab 檔案的路徑:

    適用於 Windows Server 2022:

    $packagePath = "${fodDriveLetter}:\LanguagesAndOptionalFeatures\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~.cab"
    
    Add-WindowsPackage -Online -PackagePath $packagePath
    

    針對舊版 Windows Server:

    $packagePath = "${fodDriveLetter}:\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~.cab"
    
    Add-WindowsPackage -Online -PackagePath $packagePath
    
  5. 進度列完成之後,請重新啟動作系統。

發行說明與建議

這很重要

  • 在就地升級至較新的 Windows Server 版本之後,使用 FoD 安裝的套件將不會維持原位。 在升級之後,您必須再次安裝它們。
  • 或者,您可以將 FoD 套件新增至升級媒體。 將套件新增至升級媒體可確保升級完成後,任何 FoD 套件的新版本都存在。 如需詳細資訊,請參閱 將功能和選擇性套件新增至離線 WIM Server Core 映像 一節。
  • 安裝應用程式相容性 FOD 並重新啟動伺服器之後,指令碼視窗的外框顏色會改成另一種藍色。

  • 如果您選擇也安裝 Internet Explorer 11 選用套件,則不支援雙擊開啟在本機中儲存的 .htm 檔案。 不過,您可以 用滑鼠右鍵按兩下 並選擇 [ 使用 Internet Explorer 開啟],也可以直接從 Internet Explorer 檔案 ->Open 開啟它。

  • 為了進一步增強 Server Core 與應用程式相容性 FOD 的應用程式相容性,IIS 管理控制台已新增至 Server Core 作為選擇性元件。 不過,必須先新增應用程式相容性 FOD 以使用 IIS 管理主控台。 IIS Management Console 依賴 Microsoft Management Console (mmc.exe),它只能在 Server Core 上新增應用程式相容性 FOD。 使用 PowerShell Cmdlet Install-WindowsFeature 新增 IIS 管理控制台:

    Install-WindowsFeature -Name Web-Mgmt-Console
    
  • 作為一般指引,在 Server Core(無論是否有這些可選套件)上安裝應用程式時,有時需要使用無訊息安裝選項和指示。

新增內容至離線的 WIM Server Core 映像檔案

  1. 將語言和選擇性功能 ISO 和 Windows Server ISO 映射檔下載到 Windows 電腦上的本機資料夾。 您可以在 Windows 桌面電腦上完成這些步驟,不需要使用 Server Core 安裝選項執行 Windows Server。

    • 如果您有大量授權,您可以從取得作系統 ISO 映像檔案的相同入口網站下載 Windows Server 語言和選擇性功能 ISO 映像檔: 大量授權服務中心
    • Windows Server 語言和選用功能 ISO 映射檔也可在 Microsoft 評估中心Visual Studio 入口網站上供訂閱者使用。

    備註

    Windows Server 2022 的語言和選擇性功能 ISO 映像檔是新的。 舊版 Windows Server 使用功能隨選 (FOD) ISO。

  2. 在提升權限的 PowerShell 工作階段中執行下列命令,以掛載語言和可選功能的 ISO 及 Windows Server ISO。 使用資料夾位置和 ISO 檔案名編輯變數,然後執行下列命令,例如:

    $isoFolder = "C:\SetupFiles\WindowsServer\ISOs"
    $fodIsoFilename = "FOD_ISO_filename.iso"
    $wsIsoFilename = "Windows_Server_ISO_filename.iso"
    
    $fodIso = Mount-DiskImage -ImagePath "$isoFolder\$fodIsoFilename"
    $wsIso = Mount-DiskImage -ImagePath "$isoFolder\$wsIsoFilename"
    
  3. 執行下列命令以取得掛接 FOD ISO 和 Windows Server ISO 的磁碟機代號:

    $fodDriveLetter = ($fodIso | Get-Volume).DriveLetter
    $wsDriveLetter = ($wsIso | Get-Volume).DriveLetter
    
  4. 將 Windows Server ISO 檔案的內容複製到本機資料夾,例如 C:\SetupFiles\WindowsServer\Files。 複製作業可能需要一些時間:

    $wsFiles = "C:\SetupFiles\WindowsServer\Files"
    New-Item -ItemType Directory -Path $wsFiles
    
    Copy-Item -Path ${wsDriveLetter}:\* -Destination $wsFiles -Recurse
    
  5. 使用下列命令,取得您想要在 install.wim 檔案內修改的映像名稱。 將 install.wim 檔案的路徑新增到 $installWimPath 變數,該變數位於 Windows Server ISO 檔的 sources 資料夾內。 請留意輸出中這個 install.wim 檔案中可用的映像名稱。

    $installWimPath = "C:\SetupFiles\WindowsServer\Files\sources\install.wim"
    
    Get-WindowsImage -ImagePath $installWimPath
    
  6. 在新的資料夾中,使用下列命令將 install.wim 檔案掛接,並將範例變數值替換為您自己的值,從上一個命令重複使用 $installWimPath 變數。

    • $wimImageName - 輸入您想要從上一個命令輸出掛接的映像名稱。 這裡的範例使用 Windows Server 2022 Datacenter
    • $wimMountFolder - 指定存取 install.wim 檔案內容時要使用的空白資料夾。
    $wimImageName = "Windows Server 2022 Datacenter"
    $wimMountFolder = "C:\SetupFiles\WindowsServer\WIM"
    
    New-Item -ItemType Directory -Path $wimMountFolder
    Set-ItemProperty -Path $installWimPath -Name IsReadOnly -Value $false
    Mount-WindowsImage -ImagePath $installWimPath -Name $wimImageName -Path $wimMountFolder
    
  7. 使用下列命令來新增您想要掛接的 install.wim 映射的功能和套件(視版本而定),以您自己的變數值取代範例變數值。

    • $capabilityName - 指定要安裝的功能名稱(在此案例中為 AppCompatibility 功能)。
    • $packagePath - 指定要安裝的套件路徑(在此案例中為 Internet Explorer cab 檔案)。

    適用於 Windows Server 2022:

    $capabilityName = "ServerCore.AppCompatibility~~~~0.0.1.0"
    $packagePath = "${fodDriveLetter}:\LanguagesAndOptionalFeatures\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~.cab"
    
    Add-WindowsCapability -Path $wimMountFolder -Name $capabilityName -Source "${fodDriveLetter}:\LanguagesAndOptionalFeatures" -LimitAccess
    Add-WindowsPackage -Path $wimMountFolder -PackagePath $packagePath
    

    針對舊版 Windows Server:

    $capabilityName = "ServerCore.AppCompatibility~~~~0.0.1.0"
    $packagePath = "${fodDriveLetter}:\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64~~.cab"
    
    Add-WindowsCapability -Path $wimMountFolder -Name $capabilityName -Source "${fodDriveLetter}:\" -LimitAccess
    Add-WindowsPackage -Path $wimMountFolder -PackagePath $packagePath
    
  8. 使用下列命令卸載並提交變更至 install.wim 檔案,它將會使用先前命令中的 $wimMountFolder 變數:

    Dismount-WindowsImage -Path $wimMountFolder -Save
    

您現在可以從您為 Windows Server 安裝檔案建立的資料夾執行 setup.exe 來升級伺服器,在此範例中為 C:\SetupFiles\WindowsServer\Files。 此資料夾現在包含包含額外功能和選用套件的 Windows Server 安裝檔案。