Features on Demand in Windows Server 2016: Uses & Migrating Roles

Instructor: Brandon Bass

Brandon has taught Masters and Bachelors courses in Computer Science, Security and Programming. He as a Ph.D in Digital Systems Security and Computer Science.

Features on Demand is a tool that allows admins to control feature payload functions. These payload functions are responsible for disk space, management consoles, events and resources in the operating system.

Getting Started with Features on Demand

The premise behind Features on Demand is that it is an app process that increases the interchangeability of the Windows server installation by including new feature process binaries and packages. This allows the server compatibility to be heightened for server applications that are available on the marketplace such as the .NET Framework or Web Servers. In addition, it gives the operating system necessary components to assist in troubleshooting and debugging scenarios. Tools that are included as part of Features on Demand that are used for these purposes include the Microsoft Management Console (MMC.exe), Event Viewer (Eventvwr.msc), Device Manager (devmgmt.msc) and PowerShell (Powershell_ISE.exe). These applications are necessary tools in the arsenal of the server administrator and are used on a daily basis.

Installing Features on Demand

The procedure to install FoD on Windows Server 2016 is fairly simple. Navigate to the start button. Select Server Manager and then select Manage > Add Roles and Features. The following Server roles will show up in the GUI menu. Roles that can be added are as follows:

  • File and Storage Services
    • Storage Services
  • Web Server (IIS)
    • Web Server
  • Management Tools
  • .NET Framework Features
  • Group Policy Management
  • IIS Hostable Web Core
  • Management OData IIS Extension
  • Media Foundation
  • Message Queueing
    • Message Queueing Services
  • Remote Server Administration Tools
  • SMB 1.0/CIFS File Sharing Support
  • Telnet Client
  • Windows Defender Features
  • Windows PowerShell
  • Windows Process Activation Service
  • WinRM IIS Extension
  • Wow64 Support

Install Windows Server Migration Tools

FoD requires that migration tools be installed on both the source server and the destination server. This can be done on any version of Windows server from 2003 to 2012 R2. However, it is necessary to note that if you migrate roles on older releases (2003-2012 non R2), there are a few extra necessary steps.

Server migration tools require the use of smigdeploy.exe. Smigdeploy is a server migration tool cmdlet that will assist with the FoD commands.

  • Migration of features on older systems requires creation of a deployment folder on the destination systems. Use the following command as administrator to create the deployment folder. If this folder is not created smigdeploy will not know where to move the packages. Once this is complete, the system will automatically move packages for FoD to the deployment folder.
    • cd %Windir%\System32\ServerMigrationTools\
  • Creating a folder on an a system requires the use of PowerShell or the command prompt. Open PowerShell or CMD and use the following. md 'deployment folder'.
  • Use the following command to create the deployment folder on the source computer. In this case, 'WS12' means Windows Server 2012. Individual OS's have their own designation. In addition, if your older server has 32 bit OS or x86 designation, the 'architecture' command line parameter is used to specify that.
    • WS08R2 = Server 2008 R2
    • WS08 = Server 2008
    • WS03 = Server 2003
      • SmigDeploy.exe /package /architecture amd64 /os WS12 /path <deployment folder path>
      • SmigDeploy.exe /package /architecture X86 /os WS08 /path <deployment folder path>

Once this is done, it is necessary to ensure that there is administrative access to the network path where the deployment folder resides. When you created this folder, ensure admins have Full Control access control permissions to it. This can be specified for the deployment folder as a share as well. In addition, it is necessary to ensure that the .NET Framework 2.0 or greater and PowerShell 1.0 or greater are installed on the source computers. Once this is complete, simply open PowerShell and run the Install-WindowsFeature cmdlet. Make sure that if this is being done on the local server, the 'ComputerName' parameter is omitted.

  • Install-WindowsFeature Migration -ComputerName <computer_name>

This will allow for the initialization of payloads and features to be migrated to the new server.

To unlock this lesson you must be a Member.
Create your account

Register to view this lesson

Are you a student or a teacher?

Unlock Your Education

See for yourself why 30 million people use

Become a member and start learning now.
Become a Member  Back
What teachers are saying about
Try it risk-free for 30 days

Earning College Credit

Did you know… We have over 200 college courses that prepare you to earn credit by exam that is accepted by over 1,500 colleges and universities. You can test out of the first two years of college and save thousands off your degree. Anyone can earn credit-by-exam regardless of age or education level.

To learn more, visit our Earning Credit Page

Transferring credit to the school of your choice

Not sure what college you want to attend yet? has thousands of articles about every imaginable degree, area of study and career path that can help you find the school that's right for you.

Create an account to start this course today
Try it risk-free for 30 days!
Create an account