Server Manager, roles and features in Windows Server 2008 Beta 3

One of the most important changes in Windows Server 2008 is improved componentization. This allows you to only install certain portions of the OS you specifically selected. These portions are grouped into roles, role services and features. To manage this, there is a completely new MMC-based tool called “Server Manager”.

If you use Windows Server 2003 today, installing those roles is somewhat similar to what you used to do with the Control Panel, Add/Remove Programs, Add/Remove Windows Components. As usual, people to try to avoid anything new and will try to just do it old way. That won’t be possible in this case. In Windows Server 2008, “Add/Remove Programs” now shows as “Programs” in the new Home view or as “Programs and Features” in Classic Mode. In both cases, the only option similar to “Add/Remove Windows Components” is the new “Turn Windows features on or off” link, but it will just take you to “Server Manager”.

So, there's no way around the new “Server Manager”. To work with the new Windows Server 2008, you will need to learn how to use it. The only alternative is ServerManagerCmd.exe. This command-line version of Server Manager is quite important if you want to automate the installation. You can use it to install/remove these roles/features and also to query which ones are available. Here is the basic syntax for it, from the tool's own help information:

 ServerManagerCmd -query [<query.xml>] [-logPath <log.txt>]
ServerManagerCmd -install <name> [-setting <setting name>=<setting value>]* [-allSubFeatures] [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>]
ServerManagerCmd -remove <name> [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>] -inputPath <answer.xml> [-resultPath <result.xml> [-restart] | -whatIf] [-logPath <log.txt>]
ServerManagerCmd -help
ServerManagerCmd -version

You can also use short forms for the parameters: -q for -query, -i for -install, -r for -remove, -? For -help, -v for -version, -s for -setting, -a for -allsubfeatures, -rp for -resultpath, -w for -whatif, -l for -logpath, -ip for -inputpath. For your reference, here is the list of roles and features as of Beta 3, obtained by running “servermanagercmd -q" right after installing Windows Server 2008 Enterprise:

 ----- Roles -----
[ ] Active Directory Certificate Services  [AD-Certificate]
    [ ] Certification Authority  [ADCS-Cert-Authority]
    [ ] Certification Authority Web Enrollment
    [ ] Online Certificate Status Protocol  [ADCS-Online-Cert]
    [ ] Microsoft Simple Certificate Enrollment Protocol
[ ] Active Directory Domain Services
    [ ] Active Directory Domain Controller  [ADDS-Domain-Controller]
    [ ] Identity Management for UNIX  [ADDS-Identity-Mgmt]
        [ ] Server for Network Information Services  [ADDS-NIS]
        [ ] Password Synchronization  [ADDS-Password-Sync]
[ ] Active Directory Federation Services
    [ ] Federation Service  [ADFS-Federation]
    [ ] Federation Service Proxy  [ADFS-Proxy]
    [ ] AD FS Web Agents  [ADFS-Web-Agents]
        [ ] Claims-aware Agent  [ADFS-Claims]
        [ ] Windows Token-based Agent  [ADFS-Windows-Token]
[ ] Active Directory Lightweight Directory Services  [ADLDS]
[ ] Active Directory Rights Management Services
    [ ] Active Directory Rights Management Server
    [ ] Identity Federation Support
[ ] Application Server  [Application-Server]
    [ ] Application Server Core  [AS-AppServer-Core]
    [ ] Web Server (IIS) Support  [AS-Web-Support]
    [ ] COM+ Network Access  [AS-Ent-Services]
    [ ] TCP Port Sharing  [AS-TCP-Port-Sharing]
    [ ] Windows Process Activation Service Support  [AS-WAS-Support]
        [ ] HTTP Activation  [AS-HTTP-Activation]
        [ ] Message Queuing Activation  [AS-MSMQ-Activation]
        [ ] TCP Activation  [AS-TCP-Activation]
        [ ] Named Pipes Activation  [AS-Named-Pipes]
    [ ] Distributed Transactions  [AS-Dist-Transaction]
        [ ] Incoming Remote Transactions  [AS-Incoming-Trans]
        [ ] Outgoing Remote Transactions  [AS-Outgoing-Trans]
        [ ] WS-Atomic Transactions  [AS-WS-Atomic]
[ ] DHCP Server  [DHCP]
[ ] DNS Server  [DNS]
[ ] Fax Server  [Fax]
[ ] File Services
    [ ] File Server  [FS-FileServer]
    [ ] Distributed File System  [FS-DFS]
        [ ] DFS Namespace  [FS-DFS-Namespace]
        [ ] DFS Replication  [FS-DFS-Replication]
    [ ] File Server Resource Manager  [FS-Resource-Manager]
    [ ] Services for Network File System  [FS-NFS-Services]
    [ ] Windows Search Service  [FS-Search-Service]
    [ ] Windows Server 2003 File Services  [FS-Win2003-Services]
        [ ] File Replication Service  [FS-Replication]
        [ ] Indexing Service  [FS-Indexing-Service]
[ ] Network Policy and Access Services  [NPAS]
    [ ] Network Policy Server  [NPAS-Policy-Server]
    [ ] Routing and Remote Access Services  [NPAS-RRAS-Services]
        [ ] Remote Access Service  [NPAS-RRAS]
        [ ] Routing  [NPAS-Routing]
    [ ] Health Registration Authority  [NPAS-Health]
    [ ] Host Credential Authorization Protocol  [NPAS-Host-Cred]
[ ] Print Services  [Print-Services]
    [ ] Print Server  [Print-Server]
    [ ] LPD Service  [Print-LPD-Service]
    [ ] Internet Printing  [Print-Internet]
[ ] Terminal Services  [Terminal-Services]
    [ ] Terminal Server  [TS-Terminal-Server]
    [ ] TS Licensing  [TS-Licensing]
    [ ] TS Session Broker  [TS-Session-Broker]
    [ ] TS Gateway  [TS-Gateway]
    [ ] TS Web Access  [TS-Web-Access]
[ ] UDDI Services
    [ ] UDDI Services Database
    [ ] UDDI Services Web Application
[ ] Web Server (IIS)  [Web-Server]
    [ ] Web Server  [Web-WebServer]
        [ ] Common HTTP Features  [Web-Common-Http]
            [ ] Static Content  [Web-Static-Content]
            [ ] Default Document  [Web-Default-Doc]
            [ ] Directory Browsing  [Web-Dir-Browsing]
            [ ] HTTP Errors  [Web-Http-Errors]
            [ ] HTTP Redirection  [Web-Http-Redirect]
        [ ] Application Development  [Web-App-Dev]
            [ ] ASP.NET  [Web-Asp-Net]
            [ ] .NET Extensibility  [Web-Net-Ext]
            [ ] ASP  [Web-ASP]
            [ ] CGI  [Web-CGI]
            [ ] ISAPI Extensions  [Web-ISAPI-Ext]
            [ ] ISAPI Filters  [Web-ISAPI-Filter]
            [ ] Server Side Includes  [Web-Includes]
        [ ] Health and Diagnostics  [Web-Health]
            [ ] HTTP Logging  [Web-Http-Logging]
            [ ] Logging Tools  [Web-Log-Libraries]
            [ ] Request Monitor  [Web-Request-Monitor]
            [ ] Tracing  [Web-Http-Tracing]
            [ ] Custom Logging  [Web-Custom-Logging]
            [ ] ODBC Logging  [Web-ODBC-Logging]
        [ ] Security  [Web-Security]
            [ ] Basic Authentication  [Web-Basic-Auth]
            [ ] Windows Authentication  [Web-Windows-Auth]
            [ ] Digest Authentication  [Web-Digest-Auth]
            [ ] Client Certificate Mapping Authentication  [Web-Client-Auth]
            [ ] IIS Client Certificate Mapping Authentication  [Web-Cert-Auth]
            [ ] URL Authorization  [Web-Url-Auth]
            [ ] Request Filtering  [Web-Filtering]
            [ ] IP and Domain Restrictions  [Web-IP-Security]
        [ ] Performance  [Web-Performance]
            [ ] Static Content Compression  [Web-Stat-Compression]
            [ ] Dynamic Content Compression  [Web-Dyn-Compression]
    [ ] Management Tools  [Web-Mgmt-Tools]
        [ ] IIS Management Console  [Web-Mgmt-Console]
        [ ] IIS Management Scripts and Tools  [Web-Scripting-Tools]
        [ ] Management Service  [Web-Mgmt-Service]
        [ ] IIS 6 Management Compatibility  [Web-Mgmt-Compat]
            [ ] IIS 6 Metabase Compatibility  [Web-Metabase]
            [ ] IIS 6 WMI Compatibility  [Web-WMI]
            [ ] IIS 6 Scripting Tools  [Web-Lgcy-Scripting]
            [ ] IIS 6 Management Console  [Web-Lgcy-Mgmt-Console]
    [ ] FTP Publishing Service  [Web-Ftp-Publishing]
        [ ] FTP Server  [Web-Ftp-Server]
        [ ] FTP Management snap-in  [Web-Ftp-Mgmt-Console]
[ ] Windows Deployment Services  [WDS]
    [ ] Deployment Server  [WDS-Deployment]
    [ ] Transport Server  [WDS-Transport]
[ ] Windows SharePoint Services  [Windows-SharePoint]
----- Features -----
[ ] .NET Framework 3.0  [NET-Framework]
    [ ] .NET Framework 3.0 Features  [NET-Framework-Core]
    [ ] XPS Viewer  [NET-XPS-Viewer]
    [ ] Windows Communication Foundation Activation Components  [NET-Win-CFAC]
        [ ] HTTP Activation  [NET-HTTP-Activation]
        [ ] Non-HTTP Activation  [NET-Non-HTTP-Activ]
[ ] BitLocker Drive Encryption  [BitLocker]
[ ] BITS Server Extensions  [BITS]
[ ] Connection Manager Administration Kit  [CMAK]
[ ] Desktop Experience  [Desktop-Experience]
[ ] Failover Clustering  [Failover-Clustering]
[ ] Group Policy Management  [GPMC]
[ ] Internet Printing Client  [Internet-Print-Client]
[ ] Internet Storage Naming Server  [ISNS]
[ ] LPR Port Monitor  [LPR-Port-Monitor]
[ ] Message Queuing  [MSMQ]
    [ ] Message Queuing Services  [MSMQ-Services]
        [ ] Message Queuing Server  [MSMQ-Server]
        [ ] Directory Service Integration  [MSMQ-Directory]
        [ ] Message Queuing Triggers  [MSMQ-Triggers]
        [ ] HTTP Support  [MSMQ-HTTP-Support]
        [ ] Multicasting Support  [MSMQ-Multicasting]
        [ ] Routing Service
    [ ] Windows 2000 Client Support  [MSMQ-Win2000]
    [ ] Message Queuing DCOM Proxy  [MSMQ-DCOM]
[ ] Multipath I/O  [Multipath-IO]
[ ] Network Load Balancing  [NLB]
[ ] Peer Name Resolution Protocol  [PNRP]
[ ] Quality Windows Audio Video Experience  [qWave]
[ ] Remote Assistance  [Remote-Assistance]
[ ] Remote Server Administration Tools  [RSAT]
    [ ] Role Administration Tools  [RSAT-Role-Tools]
        [ ] Active Directory Certificate Services  [RSAT-ADCS]
        [ ] Active Directory Domain Services  [RSAT-ADDS]
        [ ] Active Directory Lightweight Directory Services  [RSAT-ADLDS]
        [ ] Active Directory Rights Management Services  [RSAT-RMS]
        [ ] DNS Server  [RSAT-DNS-Server]
        [ ] Fax Server  [RSAT-Fax]
        [ ] File Services  [RSAT-File-Services]
            [ ] DFS Management Console  [RSAT-DFS-Mgnt-Con]
            [ ] File Server Resource Manager Management Console  [RSAT-FSRM-Mgnt]
            [ ] Services for Network File System  [RSAT-NFS-Admin]
        [ ] Network Policy and Access Services  [RSAT-NPAS]
            [ ] Network Policy Server  [RSAT-NPS]
            [ ] Health Registration Authority  [RSAT-HRA]
        [ ] Print Services  [RSAT-Print-Services]
        [ ] Terminal Services  [RSAT-TS]
            [ ] TS RemoteApp Manager  [RSAT-Term-Server]
            [ ] TS Gateway Manager  [RSAT-TS-Gateway]
            [ ] TS Licensing Manager  [RSAT-TS-Licensing]
        [ ] Web Server (IIS)  [RSAT-Web-Server]
        [ ] Windows Deployment Services  [RSAT-WDS]
    [ ] Feature Administration Tools  [RSAT-Feature-Tools]
        [ ] BitLocker Drive Encryption  [RSAT-BitLocker]
        [ ] BITS Server Extensions  [RSAT-Bits-Server]
        [ ] Failover Clustering  [RSAT-Clustering]
        [ ] Network Load Balancing  [RSAT-NLB]
        [ ] SMTP Server  [RSAT-SMTP]
        [ ] Windows System Resource Manager  [RSAT-WSRM]
[ ] Removable Storage Manager  [Removable-Storage]
[ ] RPC over HTTP Proxy  [RPC-over-HTTP-Proxy]
[ ] Simple TCP/IP Services  [Simple-TCPIP]
[ ] SMTP Server  [SMTP-Server]
[ ] SNMP Services  [SNMP-Services]
    [ ] SNMP Service  [SNMP-Service]
    [ ] SNMP WMI Provider  [SNMP-WMI-Provider]
[ ] Storage Manager for SANs  [Storage-Mgr-SANS]
[ ] Subsystem for UNIX-based Applications  [Subsystem-UNIX-Apps]
[ ] Telnet Client  [Telnet-Client]
[ ] Telnet Server  [Telnet-Server]
[ ] TFTP Client  [TFTP-Client]
[ ] Windows Internal Database  [Windows-Internal-DB]
[ ] Windows PowerShell  [PowerShell]
[ ] Windows Process Activation Service  [WAS]
    [ ] Process Model  [WAS-Process-Model]
    [ ] .NET Environment  [WAS-NET-Environment]
    [ ] Configuration APIs  [WAS-Config-APIs]
[ ] Windows Recovery Disc  [Recovery-Disc]
[ ] Windows Server Backup  [Backup]
[ ] Windows System Resource Manager  [WSRM]
[ ] WINS Server  [WINS-Server]
[ ] Wireless Networking  [Wireless-Networking]

None of  roles or features in the list are installed by default, so you will need to check what you need and install it.

There’s another detail that you should be aware of. If you select a Server Core installation, you cannot use Server Manager or ServerManagerCmd due to a dependency on the .NET Framework, which is not part of Core. If you’re running Server Core, you still need to install the roles, but you will need to use another tool: the “ocsetup” command. The list of roles available in server core is obviously shorter and you can see which roles are available by running the “oclist” command. Here's the syntax for ocsetup:

 start /w ocsetup <component> [/uninstall] [/passive] [/unattendfile:<file>] [/quiet] [/norestart] [/log:<file>] [/x:<parameters>]

[/uninstall] - Uninstall the component.  Installation is default.
[/passive] - Unattended mode, progress only.
[/unattendfile:<file>] - Non-default configuration parameters, implies /passive.  See component documentation for details.
[/quiet] - Quiet mode, no user interaction.
[/norestart] - Do not restart the machine, even if required to complete setup.
[/log:<files>] - Non-default log file location.
[/x:<parameters>] - Extra parameters to be supplied to the underlying installer.  See component documentation for details.

Again, none of the roles are installed by default. Here is the list of roles for Server Core in Windows Server 2008 Enterprise as of Beta 3, obtained by running “oclist" right after the installation:

 Microsoft-Windows-ServerCore-Package
Not Installed:BitLocker
Not Installed:BitLocker-RemoteAdminTool
Not Installed:ClientForNFS-Base
Not Installed:DFSN-Server
Not Installed:DFSR-Infrastructure-ServerEdition
Not Installed:DHCPServerCore
Not Installed:DirectoryServices-ADAM-ServerCore
Not Installed:DirectoryServices-DomainController-ServerFoundation
Not Installed:DNS-Server-Core-Role
Not Installed:FailoverCluster-Core
Not Installed:FRS-Infrastructure
Not Installed:Microsoft-Windows-RemovableStorageManagementCore
Not Installed:MultipathIo
Not Installed:NetworkLoadBalancingHeadlessServer
Not Installed:Printing-ServerCore-Role
|--- Not Installed:Printing-LPDPrintService
Not Installed:QWAVE
Not Installed:ServerForNFS-Base
Not Installed:SNMP-SC
Not Installed:SUACore
Not Installed:TelnetClient
Not Installed:WindowsServerBackup
Not Installed:WINS-SC

There's a good amount of documentation for ServerManagerCmd at https://technet2.microsoft.com/windowsserver2008/en/library/e7edce1d-442c-4ec3-b324-c748e4f937551033.mspx.
Server Core installation and ocsetup options are documented at https://technet2.microsoft.com/windowsserver2008/en/library/47a23a74-e13c-46de-8d30-ad0afb1eaffc1033.mspx.

Please note that the lists of roles (in here and in the links above) is NOT final. In fact, If you are an MSDN or TechNet subscriber, you already have access to a post-Beta3 release (known of IDS3 or June CTP) that shows additional roles, like IIS for Server Core.