What is Nano Server ?

Nano Server is the next foundation of Windows Server, stripped down to its essence for speedy operation to support Micro service style architectures and cloud optimized applications.

It is similar to Server Core mode in Windows Server, but significantly smaller, has no local logon capability, and only supports 64-bit applications, tools, and agents. It takes up far less disk space, sets up significantly faster, and requires far fewer updates and restarts than Windows Server. When it does restart, it restarts much faster.

Nano Server is ideal for a number of scenarios:

  • As a “compute” host for Hyper-V virtual machines, with cluster environment or not
  • As a storage host for Scale-Out File Server.
  • As a DNS server
  • As a web server running Internet Information Services (IIS)
  • As a host for applications that are developed using cloud application patterns
  • Run cloud applications  in a container or virtual machine guest operating system

As mentioned Nano Server has a very small footprint and the first version show some great improvements versus the Windows Server:

  • 93% lower VHD size
  • 92% fewer critical alerts
  • 80% fewer reboots

To achieved this goal Microsoft removed some parts of Windows Server like:

  • GUI Shell
  • 32 bit support
  • MSI support
  • RDP
  • Some default Server Core components

You will ask me how we manage Nano Server after removing the GUI. The answer is simple and is the best practice senario for managing servers for a long time called Remote Management. Nano Server will offer some advanced remote Management features as follows

  • WMI
  • PowerShell
  • PowerShell Desired State Configuration
  • RSAT Tools
  • System Center and other Management tools
  • Web-based management tools (Using Azure)

Deploying Nano Server

Before deploy Nano Server you must have a Windows Server 2016 TP 4 host or virtual machine.

You can install the following packages for Nano Server
Packages path

Lets walk through the steps how to deploy a Nano Server

  1. First copy the Nano Server resource folder to the VM or Physical MachineMount the Windows Server 2016 TP image and navigate to the following location
    D:NanoServer (D: mounted drive it may different with your environment)
  2. Create a Nano Server Host
    #Import the Nano Server module
    Import-Module .NanoServerImageGenerator.psm1
    #create a nano sever image
    New-NanoServerImage -BasePath .Base -MediaPath D: -TargetPath .NanoImageNanoServer.vhd -GuestDrivers -Containers -AdministratorPassword (ConvertTo-SecureString -AsPlainText -String 'Pa$$w0rd' -Force) -ComputerName NanoServer -ReverseForwarders -EnableRemoteManagementPort

    console output

  3. Boot from Nano Server VHD
    In this example I created a VM in Hyper-V using the Nano Server VHD

    inside Nano Server
    Inside the Nano Server
    Nano Server
    Nano Server Login

    As you see above there are no PowerShell or CMD prompt to manage so the only option to manage this is by using remote management tools next step I’ll Show we connect it.

  4. Manage Nano Server using remote management tools
    Before connect to Nano Server using PowerShell make sure you add the host to the TrustedHost list

    Set-Item WSMan:localhostClientTrustedHosts -Value 'servername or IP, servername or IP'

    Enter to Nano Server Host
    In this i used the new PowerShell feature called PowerShell Direct  that packaged with version 5.

    Enter-PSSession -VMName 'Nanoserver test' -Credential (Get-Credential)

    If you notice the following image you will see the prompt has changed to [NanoServer Test]: PS C:Windows>


Resources for More information
Getting Started with Nano Server
A Deep Dive into Nano Server
What’s New in Windows Server 2016 Preview