Skip to content

Instantly share code, notes, and snippets.

@weijuans-msft
Last active February 10, 2021 06:47
Show Gist options
  • Save weijuans-msft/19a04903a24487c296effa3f88b603e6 to your computer and use it in GitHub Desktop.
Save weijuans-msft/19a04903a24487c296effa3f88b603e6 to your computer and use it in GitHub Desktop.
Features Removed from Windows Server Core Container base image starting with Insider Build 17074 (For Windows Server v1803 release)
Mar 12, 2018 update: due to issues found internally, we added back 2 features:
Printing-Client
Windows-Defender-Features
-------
In the recent blog we shared that we removed a number of features to further reduce the size of the Windows Server Core container base image.
https://techcommunity.microsoft.com/t5/containers/a-smaller-windows-server-core-container-with-better-application/ba-p/382412.
Below is that list of features we removed. Let us know if you have any concern or share your feedback with us how this has worked for you. Thanks.
You can leave comments at the blog or here.
"ADCertificateServicesRole",
"AuthManager",
"Bitlocker-Utilities",
"BitLocker",
"BITS",
"BITSExtensions-Upload",
"CCFFilter",
"CertificateEnrollmentPolicyServer",
"CertificateEnrollmentServer",
"CertificateServices",
"ClientForNFS-Infrastructure",
"Containers",
"CoreFileServer",
"DataCenterBridging-LLDP-Tools",
"DataCenterBridging",
"Dedup-Core",
"DeviceHealthAttestationService",
"DFSN-Server",
"DFSR-Infrastructure-ServerEdition",
"DirectoryServices-ADAM",
"DirectoryServices-DomainController",
"DiskIo-QoS",
"EnhancedStorage",
"FailoverCluster-AdminPak",
"FailoverCluster-AutomationServer",
"FailoverCluster-CmdInterface",
"FailoverCluster-FullServer",
"FailoverCluster-PowerShell",
"File-Services",
"FileServerVSSAgent",
"FRS-Infrastructure",
"FSRM-Infrastructure-Services",
"FSRM-Infrastructure",
"HardenedFabricEncryptionTask",
"HostGuardian",
"HostGuardianService-Package",
"IdentityServer-SecurityTokenService",
"IPAMClientFeature",
"IPAMServerFeature",
"iSCSITargetServer-PowerShell",
"iSCSITargetServer",
"iSCSITargetStorageProviders",
"iSNS_Service",
"Licensing",
"LightweightServer",
"Microsoft-Hyper-V-Management-Clients",
"Microsoft-Hyper-V-Offline",
"Microsoft-Hyper-V-Online",
"Microsoft-Hyper-V",
"Microsoft-Windows-FCI-Client-Package",
"Microsoft-Windows-GroupPolicy-ServerAdminTools-Update",
"Microsoft-Windows-Subsystem-Linux",
"MSRDC-Infrastructure",
"MultipathIo",
"NetworkController",
"NetworkControllerTools",
"NetworkDeviceEnrollmentServices",
"NetworkLoadBalancingFullServer",
"NetworkVirtualization",
"OnlineRevocationServices",
"P2P-PnrpOnly",
"PeerDist",
"Printing-Client-Gui",
"Printing-LPDPrintService",
"Printing-Server-Foundation-Features",
"Printing-Server-Role",
"QWAVE",
"RasRoutingProtocols",
"Remote-Desktop-Services",
"RemoteAccess",
"RemoteAccessMgmtTools",
"RemoteAccessPowerShell",
"RemoteAccessServer",
"ResumeKeyFilter",
"RightsManagementServices-Role",
"RightsManagementServices",
"RMS-Federation",
"SBMgr-UI",
"ServerCore-Drivers-General-WOW64",
"ServerCore-Drivers-General",
"ServerForNFS-Infrastructure",
"ServerManager-Core-RSAT-Feature-Tools",
"ServerMediaFoundation",
"ServerMigration",
"SessionDirectory",
"SetupAndBootEventCollection",
"ShieldedVMToolsAdminPack",
"SMB1Protocol-Server",
"SmbDirect",
"SMBHashGeneration",
"SmbWitness",
"SNMP",
"SoftwareLoadBalancer",
"Storage-Replica-AdminPack",
"Storage-Replica",
"Tpm-PSH-Cmdlets",
"UpdateServices-Database",
"UpdateServices-Services",
"UpdateServices-WidDatabase",
"UpdateServices",
"VmHostAgent",
"VolumeActivation-Full-Role",
"Web-Application-Proxy",
"WebAccess",
"WebEnrollmentServices",
"Windows-Defender",
"WindowsServerBackup",
"WindowsStorageManagementService",
"WINSRuntime",
"WMISnmpProvider",
"WorkFolders-Server",
"WSS-Product-Package"
@stopthatastronaut
Copy link

stopthatastronaut commented Apr 5, 2018

Hi there.

I don't seem to be able to add the NFS-Client feature on my ServerCore containers, which I don't see explicitly listed. I can understand removing the server component, but the ability to act as a client is very useful if you're going for volatile containers with persistent storage somewhere.

(to expand: I'm adding the feature with DSC, so I'm not sure if it's the DSC or the feature at fault. Now I've thought of that I might try another method and see how that goes)

@stopthatastronaut
Copy link

On that topic, what's the chance of a full-fat server core container for those of us who use Docker containers for testing provisioning pipelines? I have a swathe of tests I run in a container to mimic an AWS instance build - which includes the NFS-Client case I mentioned in the previous comment. I've also got a case I'd like to test in Docker that configures Windows Defender and another that created a VHD with New-VHD, which as far as I can see won't work on the current containers either.

@willhcr
Copy link

willhcr commented Jul 9, 2018

Is it possible to re-add features to a container image?

@PerArneng
Copy link

Is it possible to get the VB6 runtime support back so that you could run 32bit vb6 com components?

Copy link

ghost commented Dec 9, 2020

That's great, but you really need to explain how we can add these features back in. For example I have a need to run docker in docker, to get around a legacy windows licensing issue. I have as of yet not found how to reinstall the container feature, I have tried multiple versions of the below:

Install-WindowsFeature containers -Source c:\iso\sources

OR

 Install-WindowsFeature containers -IncludeAllSubFeature -Source wim:c:\iso\sources\install.wim:3 

OR

dism /online /enable-feature /FeatureName:containers /norestart /All /Source:wim:C:\iso\sources\install.wim:3 /LimitAccess

All have failed to provide the files needed to reinstall the removed features.

In effect you have sealed the base classes, reducing it's ability to be customized.

So yes, great reduce the size and remove the features, but please add some instruction on how to add these back in again.

@aolszowka
Copy link

@ChocoMachine Yeah I am in the same boat, did you ever figure out how to work around this?

Copy link

ghost commented Jan 24, 2021

@ChocoMachine Yeah I am in the same boat, did you ever figure out how to work around this?

Nope... Never found a way around it.. 😡

@aolszowka
Copy link

@ChocoMachine Bummer, I just posted this issue microsoft/Windows-Containers#91 lets see what comes of it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment