I was tinkering with the June CTP of Server Core, which has the IIS role. I wanted a server that just served Images and logged the request. I need three modules (global and regular) modules. Anonymous Authentication, StaticFileModule and HttpLogging. Here is the syntax I used to customize my server. You probably would want StaticCompressionModule, it can help save some bandwidth, but for my exercise, I wanted the least amount of modules. This is one example of how you can customize your IIS 7.0 install and have a specific type of IIS 7.0 server.
Article on Server Core
http://www.iis.net/articles/view.aspx/IIS7/Explore-IIS7/Getting-Started/IIS7-on-Server-Core?Page=1
This installs the default server role
start /w pkgmgr /iu:IIS-WebServerRole;WAS-WindowsActivationService;WAS-ProcessModel
This removes unnecessary modules
AppCMD Uninstall Module “HttpCacheModule”
AppCMD Uninstall Module “StaticCompressionModule”
AppCMD Uninstall Module “DefaultDocumentModule”
AppCMD Uninstall Module “DirectoryListingModule”
AppCMD Uninstall Module “ProtocolSupportModule”
AppCMD Uninstall Module “CustomErrorModule”
AppCMD Uninstall Module “RequestFilteringModule”
AppCMD Uninstall Module “UriCacheModule”
AppCMD Uninstall Module “FileCacheModule”
AppCMD Uninstall Module “TokenCacheModule”
AppCMD Uninstall Module “RequestMonitorModule”
Open applicationHost.config (c:windowssystem32inetsrvconfigapplicationHost.config) and look at the <Global Modules> and <Modules> section.
Take care,
Steve Schofield
Microsoft MVP – IIS