Windows Server默认仅能支持几个有图形界面的应用包括注册表编辑器regedit、记事本notepad、任务管理器taskmgr、时间设置control timedate.cpl、区域设置control intl.cpl等。为了提高系统兼容性,微软又推出了一些带图形界面的按需安装的程序,包括mmc、事件查看器、性能监视器、资源监视器、文件资源管理器Explorer、Powershell ISE、磁盘管理、故障转移群集管理器。1903版本的Windows Server还额外支持Hyper-V管理器、计划任务管理器。
按需功能就是一些可以随时被安装的Windows功能包。按需功能Features on Demand分为2种:
FODs without satellite packages
所有的语言版本被封装在同一个cab文件里,可以使用/Add-Capability或者/Add-Package安装。

FODs with satellite packages
根据语言版本有不同的独立安装包。安装这类包的时候仅安装对应Windows版本的程序,可以节约磁盘空间。只能使用/Add-Capability安装。并且这类包需要从仓库安装,无法使用单独的文件安装,且为1809版本的新功能。

先来看看没有安装应用兼容性App Compatibility Feature on Demand 之前尝试运行一些命令的情况。如果看不到图,请点我。
Windows Server体验之应用兼容性按需功能_第1张图片

确保服务器可以联网,然后在Windows Server中运行powershell。
Windows Server体验之应用兼容性按需功能_第2张图片
再输入命令,检查在线仓库里有什么版本
Get-WindowsCapability -Name ServerCore -Online
Windows Server体验之应用兼容性按需功能_第3张图片
安装
Get-WindowsCapability -Name ServerCore
-Online | Add-WindowsCapability -Online
Windows Server体验之应用兼容性按需功能
结果显示没有权限。只能远程桌面到服务器上再安装
Windows Server体验之应用兼容性按需功能_第4张图片
如果无法联网,需要下载对应ISO然后挂载到本地安装。

Mount-DiskImage -ImagePath drive_letter:\folder_where_ISO_is_saved\ISO_filename.iso

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

注意,如果当Windows Server版本升级的时候这些安装的Features on Demand需要重新安装。当然,你也可以将这些包集成到Windows的WIM文件中。官方提供的方法参考命令如下:
Mount-DiskImage -ImagePath Path_To_ServerFOD_ISO
Mount-DiskImage -ImagePath Path_To_Windows_Server_ISO
$install_wim_path = "C:\SetupFiles\WindowsServer\sources\install.wim"
Get-WindowsImage -ImagePath $install_wim_path
$image_name = "Windows Server Datacenter"
$mount_folder = "c:\test\offline"
Mount-WindowsImage -ImagePath $install_wim_path -Name $image_name -path $mount_folder
$capability_name = "ServerCore.AppCompatibility~~0.0.1.0"
$package_path = "D:\Microsoft-Windows-InternetExplorer-Optional-Package~31bf3856ad364e35~amd64
.cab"
$fod_drive = "d:\"
Add-WindowsCapability -Path $mount_folder -Name $capability_name -Source $fod_drive -LimitAccess
Add-WindowsPackage -Path $mount_folder -PackagePath $package_path
Dismount-WindowsImage -Path $mount_folder -Save
安装完成,显示需要重启。
Windows Server体验之应用兼容性按需功能
重启完了之后,我们再来运行一下之前无法运行的各种mmc和exe程序。
Windows Server体验之应用兼容性按需功能_第5张图片
另外比较有意思的是,装了App Compatibility Feature on Demand 之后,登录界面是蓝色的。
Windows Server体验之应用兼容性按需功能_第6张图片