<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:atom="https://www.w3.org/2005/Atom" xmlns:sy="https://purl.org/rss/1.0/modules/syndication/" xmlns:dc="https://purl.org/dc/elements/1.1/" xmlns:content="https://purl.org/rss/1.0/modules/content/" xmlns:wfw="https://wellformedweb.org/CommentAPI/" xmlns:slash="https://purl.org/rss/1.0/modules/slash/"
  version="2.0">
  <channel>
    <title>Nano Server</title>
    <atom:link
      href="https://docs.microsoft.com/archive/blogs/nanoserver/feed.xml"
      rel="self"
      type="application/rss+xml" />
    <link>https://docs.microsoft.com/archive/blogs/nanoserver/feed.xml</link>
    <description />
    <lastBuildDate>Thu, 27 Apr 2017 19:56:59 GMT</lastBuildDate>
    <language>en-US</language>
    <sy:updatePeriod>hourly</sy:updatePeriod>
    <sy:updateFrequency>1</sy:updateFrequency>
    <item>
      <title>Leverage Containers to test and debug Native applications on Nano Server</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/leverage-containers-to-test-and-debug-native-applications-on-nano-server</link>
      <pubDate>Fri, 24 Feb 2017 21:32:41 GMT</pubDate>
      <dc:creator><![CDATA[Venkat Yalla [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=1145</guid>
      <description><![CDATA[Today we’d like to share improvements in the test and debug workflow while developing native...]]></description>
      <content:encoded><![CDATA[<div class="markdown-here-wrapper">
<p style="margin: 0px 0px 1.2em !important">Today we’d like to share improvements in the test and debug workflow while developing native applications for Nano Server. The new workflow leverages Nano Server Containers and enhancements in the Visual Studio 2017 Remote Debugger to run in a Container. By putting these two technologies together we can setup a fast and powerful dev, test and debug environment for Nano Server developers on their local machine that avoids the overhead of configuring Nano Server virtual machines and manually copying over test binaries. Let’s dig into the details.</p>

<h2 id="prerequisites">Prerequisites</h2>
<ol style="margin: 1.2em 0px;padding-left: 2em">
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Windows 10 Anniversary Edition (Professional or Enterprise)</p>

<ul style="margin: 0px;padding-left: 1em">
 	<li style="margin: 0.5em 0px">Ensure Windows Containers feature is enabled per instructions at <a href="https://docs.microsoft.com/en-us/virtualization/windowscontainers/quick-start/quick-start-windows-10">Windows Container Documentation page</a></li>
</ul>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Visual Studio 2017 with the following Workloads installed:</p>

<ul style="margin: 0px;padding-left: 1em">
 	<li style="margin: 0.5em 0px">Universal Windows Platform Development</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Desktop Development with C++</p>

<blockquote>
<p style="margin: 0.5em 0px !important;font-size: 75%;color: gray">A free Community Edition is available from <a href="https://visualstudio.com">visualstudio.com</a>. Visual Studio 2017 RC can be used to test before the final version of VS2017 is released.</p>
</blockquote>
</li>
</ul>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Docker for Windows (v1.13.1 or later recommended)</p>

<ul style="margin: 0px;padding-left: 1em">
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">After installation, ensure Docker is configured to use Windows Containers as described in this <a href="https://blog.docker.com/2016/09/build-your-first-docker-windows-server-container/">blog post</a></p>

<blockquote>
<p style="margin: 0.5em 0px !important;font-size: 75%;color: gray">Free download available from <a href="https://docs.docker.com/docker-for-windows/install/#/download-docker-for-windows">Docker site</a></p>
</blockquote>
</li>
</ul>
</li>
</ol>
<h2 id="one-time-setup">One-time setup</h2>
<p style="margin: 0px 0px 1.2em !important">Once all the prerequisites are in place, it is time to perform the first time setup of the Container-based debug environment. To aid the process we have published a helper batchfile and a Dockerfile on our <a href="https://github.com/Microsoft/NanoServerTools/tree/master/DevTools/ContainerDebug">Github tools page</a>.</p>
<p style="margin: 0px 0px 1.2em !important">Here are the steps to get all setup:</p>

<ol style="margin: 1.2em 0px;padding-left: 2em">
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Install the Nano Server Project Template for Native applications from the Visual Studio Gallery as described in this <a href="https://blogs.technet.microsoft.com/nanoserver/2017/02/17/project-template-for-developing-native-applications-targetting-nano-now-on-visual-studio-gallery/">post</a> , and create a new Nano Server Project. You can also use an existing Nano Server project if you have one created.</p>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">In the Project settings, configure an Output directory for your project where the build artifacts should be placed.</p>

<a href="https://msdnshared.blob.core.windows.net/media/2017/02/project_properties.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/02/project_properties-1024x702.png" alt="project_properties" width="1024" height="702" class="alignnone size-large wp-image-1185" /></a></li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Build the Project to ensure the test binaries are successfully built.</p>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Download the zip file that contains the helper batchfile and Dockerfile from <a href="https://github.com/Microsoft/NanoServerTools/files/797337/ContainerDebug.zip">this location</a>, and extract its contents</p>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Execute <code>NanoDockerBuild.bat</code> in the <em>Visual Studio 2017 Developer Command Prompt</em> (as it defines some convenient environment variables), specifying the path to the Output directory as its only parameter. The batchfile performs the following actions:</p>

<ul style="margin: 0px;padding-left: 1em">
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Copies over the OneCore version Remote Debugger binaries and Native application runtime dependencies to a local staging folder from various well known locations in the Visual Studio 2017 install directory  </p>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Uses the Dockerfile to build a Nano Server Container which includes the Base Container image layered with staged binaries, and specifies the entrypoint of the Container as the Visual Studio Remote Debugger (msvsmon.exe)</p>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Runs the Container, mapping the test binaries location from the Container Host into the Container and outputs the ID of the Container that was created (which is also the Container’s <code>hostname</code>). Example execution below:</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code>C:\ContainerDebug&gt;NanoDockerBuild.cmd c:\nanodebug

Staging Remote Binaries.
Building container...
Launching Nano Container...

  Nano Server Container started with id: 4c19ad2927da

C:\ContainerDebug&gt;
</code></pre>
<p style="margin: 0.5em 0px !important">Once the Base Nano Container image is downloaded for the first time (typically ~10min), on subsequent invocations, this whole sequence should take well under a minute.</p>
</li>
</ul>
</li>
 	<li style="margin: 0.5em 0px">
<p style="margin: 0.5em 0px !important">Configure the Remote Debugger settings as follows:</p>

<ul style="margin: 0px;padding-left: 1em">
 	<li style="margin: 0.5em 0px">Debugger to launch: Remote Windows Debugger</li>
 	<li style="margin: 0.5em 0px">Remote Command: $(TargetFileName)</li>
 	<li style="margin: 0.5em 0px">Working Directory: $(OutDir)</li>
 	<li style="margin: 0.5em 0px">Remote Server Name: [<em>enter-container-id-from-batchfile-output</em>]</li>
 	<li style="margin: 0.5em 0px"><p>Connection: Remote with no authentication </p>

<a href="https://msdnshared.blob.core.windows.net/media/2017/02/remote-debugger-settings.png"><img src="https://msdnshared.blob.core.windows.net/media/2017/02/remote-debugger-settings-1024x702.png" alt="remote-debugger-settings" width="1024" height="702" class="alignnone size-large wp-image-1165" /></a></li>
</ul>
</li>
</ol>
</div>
&nbsp;
<div class="markdown-here-wrapper">
<p style="margin: 0px 0px 1.2em !important">That’s it, you are ready to test and debug your native applications in a Nano Server environment!</p>

<h2 id="test-and-debug-workflow">Test and debug workflow</h2>
<p style="margin: 0px 0px 1.2em !important">It is now super easy to run and debug your Nano Server application. Set breakpoints as needed and hit F5 to launch your application in the Nano Container. When the breakpoint hits, execution will stop and break into the Visual Studio debugger where you can examine execution context. Testing additional changes is very convenient, simply make the changes you want, add any new breakpoints and hit F5 to run and debug them. No more manual copy of the test binaries to the Target system is required. The entire workflow is captured in a gif below:</p>
<p style="margin: 0px 0px 1.2em !important"><a href="https://msdnshared.blob.core.windows.net/media/2017/02/workflow.gif"><img src="https://msdnshared.blob.core.windows.net/media/2017/02/workflow.gif" alt="workflow" width="1854" height="1175" class="alignnone size-full wp-image-1175" /></a></p>
<p style="margin: 0px 0px 1.2em !important">To resume your debug session after a system reboot, just run the <code>NanoDockerBuild.cmd</code> again, and update your Remote Debugger settings with the new Container ID and you will be back testing and debugging in no time!</p>

<h2 id="feedback-appreciated">Feedback appreciated</h2>
<p style="margin: 0px 0px 1.2em !important">Hope you find this useful. As always, please be generous with your feedback, and feel free to send pull requests to our <a href="https://github.com/Microsoft/NanoServerTools">Github repo</a> to make the scripts better. Also, let us know if you want to see any specific topic you’d like us to post about or publish sample code for.</p>
<p style="margin: 0px 0px 1.2em !important">Happy Coding!</p>

</div>]]></content:encoded>
    </item>
    <item>
      <title>Nano Server Native Project Template now on Visual Studio Gallery</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/project-template-for-developing-native-applications-targetting-nano-now-on-visual-studio-gallery</link>
      <pubDate>Fri, 17 Feb 2017 19:22:14 GMT</pubDate>
      <dc:creator><![CDATA[Venkat Yalla [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=1125</guid>
      <description><![CDATA[The Visual Studio project template for developing C++ applications targeting Nano Server is now...]]></description>
      <content:encoded><![CDATA[<div id="x_divtagdefaultwrapper" dir="ltr">
<div class="x_markdown-here-wrapper">
<p style="margin:0px 0px 1.2em!important">The Visual Studio project template for developing C++ applications targeting Nano Server is now available on the <a href="https://marketplace.visualstudio.com/vs" target="_blank">Visual Studio Marketplace</a> (search on "nano"). The template supports both Visual Studio 2015 and 2017.</p>
<h2 id="x_what-s-changed-">
What’s changed?</h2>
<p style="margin:0px 0px 1.2em!important">The core of the extension is identical to <a href="https://blogs.technet.microsoft.com/nanoserver/2016/04/27/developing-native-apps-on-nano-server/" target="_blank">what we shared last year</a>, with the following updates:</p>
<ul style="margin:1.2em 0px;padding-left:2em" type="circle">
<li style="margin:0.5em 0px">Compatible with Visual Studio 2017 in addition to Visual Studio 2015. </li><li style="margin:0.5em 0px">The template can be deployed seamlessly from within Visual Studio as it is available on the VS Gallery. </li><li style="margin:0.5em 0px">The same remote debugging experience, enabled using cmdlets, is available upon installing the <a href="https://www.powershellgallery.com/packages/Microsoft.PowerShell.NanoServer.SDK/1.0.1.0" target="_blank">PowerShell SDK for Nano</a> from the PowerShell Gallery. </li><li style="margin:0.5em 0px">The sample application builds cleanly out of the box on current versions of Visual Studio as it targets the Windows 10 Anniversary Update SDK (10.0.14393.0) by default. To target a different SDK, right-click the solution name in Solution Explorer and choose “Retarget Solution”. </li></ul>
<p style="margin:0px 0px 1.2em!important">As as parting gif, checkout how quick and easy it is to deploy the template from within the IDE!</p>
<p style="margin: 0px 0px 1.2em!important"><a href="https://msdnshared.blob.core.windows.net/media/2017/02/install2.gif"><img src="https://msdnshared.blob.core.windows.net/media/2017/02/install3.gif" alt="install2" width="1790" height="1260" class="alignnone wp-image-1116 size-full" /></a></p>
<p></p>
<p style="margin:0px 0px 1.2em!important">Next week we’ll share details on remote debug workflow improvements with Visual Studio 2017.</p>
<p style="margin:0px 0px 1.2em!important">Happy coding!</p>
<div title="MDH:PHA+PGJyPjwvcD48cD48c3BhbiBpZD0ibXMtcnRlcmFuZ2VwYXN0ZS1zdGFydCI+PC9zcGFuPjxk
aXY+VGhlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCB0ZW1wbGF0ZSBmb3IgZGV2ZWxvcGluZyBDKysg
YXBwbGljYXRpb25zIHRhcmdldGluZyBOYW5vIFNlcnZlciBpcyBub3cgYXZhaWxhYmxlIG9uIHRo
ZSBbVmlzdWFsIFN0dWRpbyBNYXJrZXRwbGFjZV0oaHR0cHM6Ly9tYXJrZXRwbGFjZS52aXN1YWxz
dHVkaW8uY29tL3ZzKSBUaGUgdGVtcGxhdGUgc3VwcG9ydHMgYm90aCBWaXN1YWwgU3R1ZGlvIDIw
MTUgYW5kIDIwMTcuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4jIyBXaGF0J3MgY2hhbmdlZD88
L2Rpdj48ZGl2PlRoZSBjb3JlIG9mIHRoZSBleHRlbnNpb24gaXMgaWRlbnRpY2FsIHRvIHRoZSBb
d2hhdCB3ZSBzaGFyZWQgbGFzdCB5ZWFyXShodHRwczovL2Jsb2dzLnRlY2huZXQubWljcm9zb2Z0
LmNvbS9uYW5vc2VydmVyLzIwMTYvMDQvMjcvZGV2ZWxvcGluZy1uYXRpdmUtYXBwcy1vbi1uYW5v
LXNlcnZlci8pLCB3aXRoIHRoZSBmb2xsb3dpbmcgdXBkYXRlczo8L2Rpdj48ZGl2PjEuIENvbXBh
dGlibGUgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMTcgaW4gYWRkaXRpb24gdG8gVmlzdWFsIFN0dWRp
byAyMDE1PC9kaXY+PGRpdj4yLiBUaGUgdGVtcGxhdGUgY2FuIGJlIGRlcGxveWVkIHNlYW1sZXNz
bHkgZnJvbSB3aXRoaW4gVmlzdWFsIFN0dWRpbyBhcyBpdCBpcyBhdmFpbGFibGUgb24gdGhlIFZT
IEdhbGxlcnkuPC9kaXY+PGRpdj4yLiBUaGUgc2FtZSByZW1vdGUgZGVidWdnaW5nIGV4cGVyaWVu
Y2UsIGVuYWJsZWQgdXNpbmcgY21kbGV0cywgaXMgYXZhaWxhYmxlIHVwb24gaW5zdGFsbGluZyB0
aGUgW1Bvd2VyU2hlbGwgU0RLIGZvciBOYW5vXShodHRwczovL3d3dy5wb3dlcnNoZWxsZ2FsbGVy
eS5jb20vcGFja2FnZXMvTWljcm9zb2Z0LlBvd2VyU2hlbGwuTmFub1NlcnZlci5TREsvMS4wLjEu
MCkgZnJvbSB0aGUgUG93ZXJTaGVsbCBHYWxsZXJ5LjwvZGl2PjxkaXY+My4gVGhlIHNhbXBsZSBh
cHBsaWNhdGlvbiBidWlsZHMgb3V0IG9mIHRoZSBib3ggb24gY3VycmVudCB2ZXJzaW9ucyBvZiBW
aXN1YWwgU3R1ZGlvIGFzIGl0IHRhcmdldHMgdGhlIFdpbmRvd3MgMTAgQW5uaXZlcnNhcnkgVXBk
YXRlIFNESyAoMTAuMC4xNDM5My4wKSBieSBkZWZhdWx0LiBUbyB0YXJnZXQgYSBkaWZmZXJlbnQg
U0RLLCByaWdodC1jbGljayB0aGUgc29sdXRpb24gbmFtZSBpbiBTb2x1dGlvbiBFeHBsb3JlciBh
bmQgY2hvb3NlICJSZXRhcmdldCBTb2x1dGlvbiIuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5B
cyBhcyBwYXJ0aW5nIGdpZiwgY2hlY2tvdXQgaG93IHF1aWNrIGFuZCBlYXN5IGl0IGlzIHRvIGRl
cGxveSB0aGUgdGVtcGxhdGUgZnJvbSB3aXRoaW4gdGhlIElERSE8L2Rpdj48ZGl2Pjxicj48L2Rp
dj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2Pk5leHQg
d2VlayB3ZSdsbCBzaGFyZSBkZXRhaWxzIG9uIHJlbW90ZSBkZWJ1ZyB3b3JrZmxvdyBpbXByb3Zl
bWVudHMgd2l0aCBWaXN1YWwgU3R1ZGlvIDIwMTcuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5I
YXBweSBjb2RpbmchPC9kaXY+PGRpdj48YnI+PC9kaXY+PHNwYW4gaWQ9Im1zLXJ0ZXJhbmdlcGFz
dGUtZW5kIj48L3NwYW4+PGJyPjwvcD48ZGl2IGlkPSJTaWduYXR1cmUiPiAgICAgPGRpdiBpZD0i
ZGl2dGFnZGVmYXVsdHdyYXBwZXIiIHN0eWxlPSJmb250LXNpemU6IDEycHQ7IGNvbG9yOiByZ2Io
MCwgMCwgMCk7IGZvbnQtZmFtaWx5OiBDYWxpYnJpLCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNl
cmlmLCAmcXVvdDtBcHBsZSBDb2xvciBFbW9qaSZxdW90OywgJnF1b3Q7U2Vnb2UgVUkgRW1vamkm
cXVvdDssIE5vdG9Db2xvckVtb2ppLCAmcXVvdDtTZWdvZSBVSSBTeW1ib2wmcXVvdDssICZxdW90
O0FuZHJvaWQgRW1vamkmcXVvdDssIEVtb2ppU3ltYm9sczsiPiA8L2Rpdj4gICA8L2Rpdj4=" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">
</div>
</div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Introducing the Nano Server Image Builder</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/introducing-the-nano-server-image-builder</link>
      <pubDate>Sat, 15 Oct 2016 18:42:26 GMT</pubDate>
      <dc:creator><![CDATA[Scott M. Johnson]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=686</guid>
      <description><![CDATA[Hi there,

Scott Johnson here to talk about the new Nano Server Image Builder tool, my new...]]></description>
      <content:encoded><![CDATA[<div>

Hi there,

Scott Johnson here to talk about the new Nano Server Image Builder tool, my new favorite time-saver. The Nano Server Image Builder helps you create a custom Nano Server image and bootable USB media with the aid of a graphical interface. Based on the inputs you provide, it generates images for deployment and creates reusable PowerShell scripts that allow you to create installations of Nano Server running either Windows Server 2016 Datacenter or Standard editions. The Nano Server Image Builder is now <a href="https://www.microsoft.com/en-us/download/details.aspx?id=54065">available for download</a> on the Microsoft download center. If you need to download it later you can use this memorable shortcut: <a href="https://aka.ms/NanoServerImageBuilder">https://aka.ms/NanoServerImageBuilder</a>. To run the tool, you must also install the <a href="https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit">Windows Assessment and Deployment Kit (ADK).</a>

</div>
<div></div>
<div><strong>Nano Server is 20 to 25 times smaller than a full version of Windows Server 2016 with desktop experience. </strong>
To make a version of Windows this small, we had to remove some things that were not critical to running server workloads – and one of the things we removed was setup.exe, including the Windows Welcome experience. To setup and configure a Nano Server, we need to leverage Sysprep services in Windows and use an unattended.xml file to automate the installation sequences.</div>
<div><strong>
Deploying Headless Servers – A New Challenge!</strong>
The Nano Server Image Builder creates VHD, VHDX and .WIM files that can be used to deploy Nano Server in a virtual machine or directly on hardware, even without a display monitor, a.k.a. the “Headless Server”. You will find a /NanoServerImageGenerator folder on the Windows Server 2016 media – it contains new cmdlets, such as <a href="https://technet.microsoft.com/en-us/windows-server-docs/get-started/nano-server-quick-start"><strong>New-NanoServerImage</strong></a>, which is supported on Windows 8.1, Windows 10, Windows Server 2012 R2, and Windows Server 2016. This new cmdlet enables you to create a custom Nano Server image using the computer name of your choice and a couple dozen other unique settings.</div>
<div>~</div>
<div></div>
<div></div>
<div><strong>Creating the perfect syntax for these PowerShell cmdlets can be challenging and so this tool was created to simplify these tasks:</strong></div>
<div>1) Graphical UI creation of Nano Server media with dozens of custom settings.
2) Create a USB key to detect the firmware and hardware settings of a server.
3) Creation of a bootable USB key that can be used to deploy Nano Server directly on hardware.
4) Optionally create a bootable ISO file that can be used to deploy from DVD or BMC-connected servers.
5) Create PowerShell commands that can be reused by simply changing the machine name.</div>
<div><strong>
The Nano Server Image Builder automates deployment settings:</strong>
• Accepting the license agreement terms.
• Choose from VHD, VHDX or WIM formats and an option to create a bootable ISO.
• Select server roles to install.
• Add device drivers to install.
• Set machine name, administrator password, logfile path, and time zone.
• Join a domain by using an existing Active Directory account or a harvested domain-join blob.
• Enable WinRM for communication outside the local subnet.
• Enable Virtual LAN IDs and configure static IP addresses.
• Inject new servicing packages on the fly.
• Add a setupcomplete.cmd or other custom scripts to run after the unattend.xml is processed.
• Enable Emergency Management Services (EMS) for serial port console access.
• Enable development services to enable test signed drivers and unsigned applications, PowerShell default shell.
• Enable debugging over serial, USB, TCP/IP, or IEEE 1394 protocols.
• Create USB media using WinPE that will partition the server and deploy the Nano Server image.</div>
<div></div>
&nbsp;

<strong>Hardware Detection USB Drive</strong>
The Nano Server Image Builder can also create a USB drive using WinPE that will detect your existing Nano Server hardware configuration and report the details on-screen and in a log file.

This hardware detection includes:
<ol>
 	<li><strong>Network interface index</strong> – We use it to target IP address assignments. In the future, we will move to use MAC-address targeting. Occasionally the network interface index will randomly change as Tron battles inner electrons in a race to see which networking card enumerates first.</li>
 	<li><strong>Boot firmware type</strong> – The system creates different partitions depending on your firmware type. Most new servers are UEFI.</li>
 	<li><strong>System board information</strong> – Validate that you are targeting the right server.</li>
 	<li><strong>Disks and volumes</strong> – Choose wisely when selecting a disk partition to format.</li>
 	<li><strong>Devices without a driver!</strong> - List devices that have no driver in the Server Core drivers package. Useful!</li>
</ol>
&nbsp;

<strong>Hardware Detection Experience:</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a11.png"><img width="891" height="429" class="alignnone size-full wp-image-695" alt="a1" src="https://msdnshared.blob.core.windows.net/media/2016/10/a11.png" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/hw2.png"><img width="963" height="333" class="alignnone wp-image-965" alt="hw2" src="https://msdnshared.blob.core.windows.net/media/2016/10/hw2.png" /></a>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a3.png"><img width="915" height="383" class="alignnone size-full wp-image-715" alt="a3" src="https://msdnshared.blob.core.windows.net/media/2016/10/a3.png" /></a>
<div><strong>
Screenshot Walkthrough</strong></div>
<div></div>
<div></div>
<div></div>
<div><strong>Two sequences:    Create Nano Server images or bootable USB media :</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a4.png"><img width="849" height="654" class="alignnone size-full wp-image-725" alt="a4" src="https://msdnshared.blob.core.windows.net/media/2016/10/a4.png" /></a></div>
<div></div>
<div></div>
<div><strong>You’ll need a copy of Windows Server 2016:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a5.png"><img width="854" height="659" class="alignnone size-full wp-image-735" alt="a5" src="https://msdnshared.blob.core.windows.net/media/2016/10/a5.png" /></a></div>
<div></div>
<div></div>
<div><strong><b>
Choose your deployment type:</b></strong></div>
<div><strong><b>
Virtual machine images can be .vhd or .vhdx
</b><strong>Physical machine images can be .vhd, .vhdx or .wim</strong></strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a6.png"><img width="857" height="663" class="alignnone size-full wp-image-745" alt="a6" src="https://msdnshared.blob.core.windows.net/media/2016/10/a6.png" /></a></div>
<div></div>
<div><b>
Accept the License Agreement (Nano Server requires customers have Software Assurance on the device)</b>
<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a0.png"><img width="855" height="662" class="alignnone size-full wp-image-905" alt="a0" src="https://msdnshared.blob.core.windows.net/media/2016/10/a0.png" /></a></div>
<div></div>
<div><strong> </strong></div>
<div><strong>Create a hardware-detection USB drive to analyze your system:  </strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a7.png"><img width="858" height="666" class="alignnone size-full wp-image-755" alt="a7" src="https://msdnshared.blob.core.windows.net/media/2016/10/a7.png" /></a></div>
<div>See the WinPE screenshots above to see how the USB hardware detection works.</div>
<div></div>
<div>~</div>
<div></div>
<div></div>
<div></div>
<div><strong>Choose the roles you want to run - Nano Server only loads what you are planning to use:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a8.png"><img width="854" height="717" class="alignnone size-full wp-image-765" alt="a8" src="https://msdnshared.blob.core.windows.net/media/2016/10/a8.png" /></a></div>
<div></div>
<div><strong>
</strong>
<strong> Add special device drivers to the image if you need them: </strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a9.png"><img width="845" height="585" class="alignnone size-full wp-image-775" alt="a9" src="https://msdnshared.blob.core.windows.net/media/2016/10/a9.png" /></a>
Use the USB hardware detection process to see which devices need drivers.   Pro-tip:  Audio drivers are not necessary.</div>
<div>

<strong>
</strong>

<strong>
Choose your machine name and password:</strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a23.png"><img width="848" height="590" class="alignnone size-full wp-image-915" alt="a23" src="https://msdnshared.blob.core.windows.net/media/2016/10/a23.png" /></a>

<strong>Join the Active Directory domain:
<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a111.png"><img width="848" height="586" class="alignnone size-full wp-image-785" alt="a11" src="https://msdnshared.blob.core.windows.net/media/2016/10/a111.png" /></a></strong>
<strong>Enable WinRM, Virtual LAN and set static IP addresses: </strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a12.png"><img width="848" height="934" class="alignnone size-full wp-image-795" alt="a12" src="https://msdnshared.blob.core.windows.net/media/2016/10/a12.png" /></a>
Use the hardware detection USB drive to figure out which network adapter interface index to target.<strong> </strong>

~
<strong>You are ready to create a basic Nano Server image – or continue to advanced settings: </strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a13.png"><img width="857" height="586" class="alignnone size-full wp-image-805" alt="a13" src="https://msdnshared.blob.core.windows.net/media/2016/10/a13.png" /></a>

</div>
&nbsp;

&nbsp;
<div>

<strong>Update Nano Server to the latest revision using a servicing package: </strong>

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a14.png"><img width="863" height="656" class="alignnone size-full wp-image-815" alt="a14" src="https://msdnshared.blob.core.windows.net/media/2016/10/a14.png" /></a>
Learn about the <a href="https://blogs.technet.microsoft.com/nanoserver/2016/10/07/updating-nano-server/">servicing options for Nano Server</a>.

</div>
~

&nbsp;
<div>

<strong></strong>

<strong>Add your own scripts to the deployment process:</strong>

</div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a15.png"><img width="807" height="585" class="alignnone size-full wp-image-825" alt="a15" src="https://msdnshared.blob.core.windows.net/media/2016/10/a15.png" /></a></div>
<div></div>
<div>~</div>
<div></div>
<div><strong>Emergency Management Services:
</strong>Get out your serial cable and an RS-232-accessible console. If you have no monitor and no networking is working, this might be your only way into the server.
I use putty.exe or my 1998 copy of hyper-terminal.<strong><strong>
<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a16.png"><img width="818" height="588" class="alignnone size-full wp-image-835" alt="a16" src="https://msdnshared.blob.core.windows.net/media/2016/10/a16.png" /></a></strong></strong></div>
<div></div>
<div>~</div>
<div></div>
<div><strong>Developers like to debug their code using a wide variety of connections:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a17.png"><img width="815" height="987" class="alignnone size-full wp-image-845" alt="a17" src="https://msdnshared.blob.core.windows.net/media/2016/10/a17.png" /></a></div>
<div></div>
<div> ~</div>
<div></div>
<div></div>
<div><strong>Final review of all the settings:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a18.png"><img width="808" height="1089" class="alignnone size-full wp-image-855" alt="a18" src="https://msdnshared.blob.core.windows.net/media/2016/10/a18.png" /></a></div>
<div>~</div>
<div></div>
<div><strong>Image creation is done, now you can create a bootable USB key:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a19.png"><img width="813" height="703" class="alignnone size-full wp-image-865" alt="a19" src="https://msdnshared.blob.core.windows.net/media/2016/10/a19.png" /></a></div>
<div><strong>Pro-tip</strong>:  Copy the PowerShell script somewhere to use it directly without using the GUI tool in the future.
Just change the machine name and you can have a new Nano Server image in a matter of minutes.</div>
<div>

<strong> </strong>

&nbsp;

<strong>Select your USB drive:</strong>
<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a20.png"><img width="818" height="589" class="alignnone size-full wp-image-875" alt="a20" src="https://msdnshared.blob.core.windows.net/media/2016/10/a20.png" /></a>

&nbsp;

</div>
<div><strong>Select boot firmware type and optionally modify the partition schema:</strong></div>
<div><a href="https://msdnshared.blob.core.windows.net/media/2016/10/a21.png"><img width="816" height="591" class="alignnone size-full wp-image-885" alt="a21" src="https://msdnshared.blob.core.windows.net/media/2016/10/a21.png" /></a></div>
<div></div>
<div><strong>Now you have a bootable USB drive to deploy and you can optionally create a bootable ISO file using the same binaries:</strong>
<a href="https://msdnshared.blob.core.windows.net/media/2016/10/a22.png"><img width="809" height="585" class="alignnone size-full wp-image-895" alt="a22" src="https://msdnshared.blob.core.windows.net/media/2016/10/a22.png" /></a></div>
<div>

I hope you enjoy the new Nano Server Image Builder, if you have any feature suggestions or error reports, please let us know on the<a href="https://windowsserver.uservoice.com/forums/295068-nano-server"> user voice </a>web site.

Cheers,
Scott Johnson
Senior Program Manager
Windows Storage Server
<a href="https://twitter.com/supersquatchy">@Supersquatchy</a>

</div>
<div></div>]]></content:encoded>
    </item>
    <item>
      <title>Nano Server in the Azure Gallery and VM Agent Support</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/nano-server-in-the-azure-gallery-and-vm-agent-support</link>
      <pubDate>Wed, 12 Oct 2016 17:50:38 GMT</pubDate>
      <dc:creator><![CDATA[Dan Harman - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=636</guid>
      <description><![CDATA[As part of Windows Server 2016 General Availability, there are new Nano Server images in the Azure...]]></description>
      <content:encoded><![CDATA[As part of <a href="https://blogs.technet.microsoft.com/hybridcloud/2016/10/12/another-big-step-in-hybrid-cloud-windows-server-2016-general-availability/">Windows Server 2016 General Availability</a>, there are new Nano Server images in the Azure Gallery. In addition to the new image, there is also a helper script attached to this blog post that can be used to customize the image when deploying in Azure.

Nano Server now supports running a limited VM Agent when deploying in Azure, as well as the running of Extensions. Due to the small nature of Nano Server, most of the Windows extensions do not run on Nano Server and are not required. For Nano Server, we provide two special-case extensions:
<ol>
 	<li><strong>VMAccess:</strong> Used to change the Administrator password through the Azure interface</li>
 	<li><strong>CustomScript:</strong> Used for running arbitrary customization scripts</li>
</ol>
We are investigating adding additional extensions for Nano Server, so please use the comments section or the Nano Server UserVoice site at <a href="https://windowsserver.uservoice.com/forums/295068-nano-server">https://windowsserver.uservoice.com/forums/295068-nano-server</a> to provide feedback on additional extensions you'd like to see.

The following examples show how to configure the CustomScript extension, depending on which portal you are using. Note that this blog post builds on our previous post describing how to create Nano Server VMs in Azure IaaS at <a href="https://blogs.technet.microsoft.com/nanoserver/2016/05/27/nano-server-tp5-iaas-image-in-azure-updated/">https://blogs.technet.microsoft.com/nanoserver/2016/05/27/nano-server-tp5-iaas-image-in-azure-updated/</a>.

&nbsp;
<h3>Azure Service Manager</h3>
If the container already exists, you can skip its creation. The script file only needs to be uploaded once to Azure Storage.
<pre>New-AzureStorageContainer -Name "my-script-container"
Set-AzureStorageBlobContent -File .\RunMe.ps1 -Container "my-script-container"
$vm = Get-AzureVM -Name "my-vm" -ServiceName "my-service-name"
$vm = Set-AzureVMCustomScriptExtension -VM $vm -ContainerName "my-script-container" -FileName "RunMe.ps1" -Run "RunMe.ps1" -Argument "MyArg1 MyArg2"
$vm | Update-AzureVM</pre>
&nbsp;
<h3>Azure Resource Manager</h3>
The module NanoServerAzureHelper.psm1 in the attached zip file provides a helper function: Set-HelperAzureRmCustomScript. This helper function makes the configuration easier, similar to Set-AzureVMCustomScriptExtension, and also provides automatic creation of storage accounts and containers and uploading of the scripts. Here are some examples of its use.
<ul>
 	<li>To run a plain Windows command, without any scripts to download into the extension:</li>
</ul>
<pre>Set-HelperAzureRmCustomScript -ResourceGroupName "testrg001" -VMName "test-vm001" -Location "West US" -NoDownload -FullCommand "echo with No Download" -Verbose</pre>
<ul>
 	<li>Set-HelperAzureRmCustomScript can create the storage account and container, if they didn't already exist. To upload the PowerShell script "RunMe.ps1" and an input data file from C:\MyScripts and run the script:</li>
</ul>
<pre>Set-HelperAzureRmCustomScript -ResourceGroupName "testrg001" -VMName "test-vm001" -Location "West US" -Account "my-storage" -NewAccount -Container "my-script-container" -NewContainer -Script "RunMe.ps1", "input.txt" -UploadPath "C:\MyScripts" -Arguments "With new accounts &lt; input.txt" -Verbose</pre>
<ul>
 	<li>To run a PowerShell script downloaded from a public resource:</li>
</ul>
<pre>Set-HelperAzureRmCustomScript -ResourceGroupName "testrg001" -VMName "test-vm001" -Location "West US" -ScriptUri "https://raw.githubusercontent.com/My/Dir/master/MyScript.ps1" -Arguments "With URI" -Verbose</pre>
<ul>
 	<li>To run a PowerShell script that has been already uploaded to Azure storage:</li>
</ul>
<pre>Set-HelperAzureRmCustomScript -ResourceGroupName "testrg001" -VMName "test-vm001" -Location "West US" -Account "my-storage" -Container "my-script-container" -Script "RunMe.ps1" -Arguments "Without upload" -Verbose</pre>
&nbsp;
<h3>Nano Server Azure Helper</h3>
Here is the Nano Server Azure Helper script module:

<a href="https://msdnshared.blob.core.windows.net/media/2016/10/NanoServerAzureHelper_20160927.zip">NanoServerAzureHelper_20160927</a>

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Updating Nano Server</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/updating-nano-server</link>
      <pubDate>Fri, 07 Oct 2016 22:19:55 GMT</pubDate>
      <dc:creator><![CDATA[Dan Harman - MSFT]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=635</guid>
      <description><![CDATA[[Edit 3/6/2017]: Information in this post has been added to our official Nano Server documentation...]]></description>
      <content:encoded><![CDATA[<strong>[Edit 3/6/2017]:</strong> Information in this post has been added to our official Nano Server documentation on TechNet which is more current: <a href="https://docs.microsoft.com/windows-server/get-started/update-nano-server">https://docs.microsoft.com/windows-server/get-started/update-nano-server</a>

Now that the Cumulative Update for Windows Server 2016 was released on September 26, 2016 (<a href="https://support.microsoft.com/en-us/kb/3192366">KB3192366</a>), some people have been asking what's the best way to install this and future cumulative updates on Nano Server? We wanted to provide some additional details on the various options available for installing these updates.

In the case of the Cumulative Update for Windows Server 2016: September 26, 2016 (<a href="https://support.microsoft.com/en-us/kb/3192366">KB3192366</a>), you need to install the latest Servicing Stack Update for Windows 10 Version 1607: August 23, 2016 as a prerequisite (<a href="https://support.microsoft.com/en-us/kb/3176936">KB3176939</a>). For most of the options below, you'll need the .msu files containing the .cab update packages. Visit the Microsoft Update Catalog to download each of these update packages:
<ul>
 	<li><a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3192366">https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3192366</a></li>
 	<li><a href="https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3176936">https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB3176936</a></li>
</ul>
After downloading the .msu files from the Microsoft Update Catalog, save them to a network share or local directory such as C:\ServicingPackages. You can rename the .msu files based on their KB number as we've done below to make them easier to identify. Then use the EXPAND utility to extract the .cab files from the .msu files into separate directories and copy the .cabs into a single folder.
<pre>mkdir C:\ServicingPackages_expanded
mkdir C:\ServicingPackages_expanded\KB3176936
mkdir C:\ServicingPackages_expanded\KB3192366
Expand C:\ServicingPackages\KB3176936.msu -F:* C:\ServicingPackages_expanded\KB3176936
Expand C:\ServicingPackages\KB3192366.msu -F:* C:\ServicingPackages_expanded\KB3192366
mkdir C:\ServicingPackages_cabs
copy C:\ServicingPackages_expanded\KB3176936\Windows10.0-KB3176936-x64.cab C:\ServicingPackages_cabs
copy C:\ServicingPackages_expanded\KB3192366\Windows10.0-KB3192366-x64.cab C:\ServicingPackages_cabs</pre>
Now you can use the extracted .cab files to apply the updates to a Nano Server image in a few different ways, depending on your needs. The following options are presented in no particular order of preference - use the option that makes the most sense for your environment.

<strong>Note:</strong> When using the DISM tools to service Nano Server, you need to use a version of DISM that is equal to or newer than the version of Nano Server you're servicing. You can achieve this by running DISM from a matching version of Windows, installing a matching version of the <a href="https://developer.microsoft.com/en-us/windows/hardware/windows-assessment-deployment-kit">Windows Asssessment and Deployment Kit (ADK)</a>, or running DISM on Nano Server itself.

&nbsp;
<h3>Option 1: Integrate a cumulative update into a new image</h3>
If you are building a new Nano Server image, you can integrate the latest cumulative update directly into the image so that it's fully patched on first boot.
<pre>New-NanoServerImage -ServicingPackagePath 'C:\ServicingPackages_cabs\Windows10.0-KB3176936-x64.cab', 'C:\ServicingPackages_cabs\Windows10.0-KB3192366-x64.cab' -&lt;other parameters&gt;</pre>
&nbsp;
<h3>Option 2: Integrate a cumulative update into an existing image</h3>
If you have an existing Nano Server image that you use as a baseline for creating specific instances of Nano Server, you can integrate the latest cumulative update directly into your existing baseline image so that machines created using the image are fully patched on first boot.
<pre>Edit-NanoServerImage -ServicingPackagePath 'C:\ServicingPackages_cabs\Windows10.0-KB3176936-x64.cab', 'C:\ServicingPackages_cabs\Windows10.0-KB3192366-x64.cab' -TargetPath .\NanoServer.wim</pre>
&nbsp;
<h3>Option 3: Apply the cumulative update to an existing offline VHD or VHDX</h3>
If you have an existing virtual hard disk (VHD or VHDX), you can use the DISM tools to apply the update to the virtual hard disk. You need to make sure the disk is not in use either by shutting down any VMs using the disk or unmounting the virtual hard disk file.
<ul>
 	<li><strong>Using PowerShell</strong></li>
</ul>
<pre>Mount-WindowsImage -ImagePath .\NanoServer.vhdx -Path .\MountDir -Index 1
Add-WindowsPackage -Path .\MountDir -PackagePath  C:\ServicingPackages_cabs
Dismount-WindowsImage -Path .\MountDir -Save</pre>
<ul>
 	<li><strong>Using dism.exe</strong></li>
</ul>
<pre>dism.exe /Mount-Image /ImageFile:C:\NanoServer.vhdx /Index:1 /MountDir:C:\MountDir
dism.exe /Image:C:\MountDir /Add-Package /PackagePath:C:\ServicingPackages_cabs
dism.exe /Unmount-Image /MountDir:C:\MountDir /Commit</pre>
&nbsp;
<h3>Option 4: Apply the cumulative update to a running Nano Server</h3>
If you have a running Nano Server VM or physical host and you've downloaded the .cab file for the update, you can use the DISM tools to apply the update while the operating system is online. You will need to copy the .cab file locally on the Nano Server or to an accessible network location. If you're applying a servicing stack update, make sure to restart the server after applying the servicing stack update before applying additional updates.

<strong>Note:</strong> If you've created the Nano Server VHD or VHDX image using the New-NanoServerImage cmdlet and didn't specify a MaxSize for the virtual hard disk file, the default size of 4GB is too small to apply the cumulative update. Prior to installing the update, use Hyper-V Manager, Disk Management, PowerShell, or other tool to expand the size of the virtual hard disk and system volume to at least 10GB, or use the ScratchDir parameter on the DISM tools to set the scratch directory to a volume with at least 10GB of free space.
<pre>$s = New-PSSession -ComputerName (Read-Host "Enter Nano Server IP address") -Credential (Get-Credential)
Copy-Item -ToSession $s -Path C:\ServicingPackages_cabs -Destination C:\ServicingPackages_cabs -Recurse
Enter-PSSession $s</pre>
<ul>
 	<li><strong>Using PowerShell</strong></li>
</ul>
<pre># Apply the servicing stack update first and then restart
Add-WindowsPackage -Online -PackagePath C:\ServicingPackages_cabs\Windows10.0-KB3176936-x64.cab
Restart-Computer; exit
# After restarting, apply the cumulative update and then restart
Enter-PSSession -ComputerName (Read-Host "Enter Nano Server IP address") -Credential (Get-Credential)
Add-WindowsPackage -Online -PackagePath C:\ServicingPackages_cabs\Windows10.0-KB3192366-x64.cab
Restart-Computer; exit</pre>
<ul>
 	<li><strong>Using dism.exe</strong></li>
</ul>
<pre># Apply the servicing stack update first and then restart
dism.exe /Online /Add-Package /PackagePath:C:\ServicingPackages_cabs\Windows10.0-KB3176936-x64.cab
# After the operation completes successfully and you are prompted to restart,
# it's safe to press Ctrl+C to cancel the pipeline and return to the prompt
Restart-Computer; exit
# After restarting, apply the cumulative update and then restart
Enter-PSSession -ComputerName (Read-Host "Enter Nano Server IP address") -Credential (Get-Credential)
dism.exe /Online /Add-Package /PackagePath:C:\ServicingPackages_cabs\Windows10.0-KB3192366-x64.cab
Restart-Computer; exit</pre>
&nbsp;
<h3>Option 5: Download and install the cumulative update to a running Nano Server</h3>
If you have a running Nano Server VM or physical host, you can use the Windows Update WMI provider to download and install the update while the operating system is online. With this method, you don't need to download the .msu file separately from the Microsoft Update Catalog. The WMI provider will detect, download, and install all available updates at once. After installing an update from Windows Update, you can find the log files at %ProgramData%\SoftwareDistribution\Logs\WindowsUpdate.
<pre>Enter-PSSession -ComputerName (Read-Host "Enter Nano Server IP address") -Credential (Get-Credential)</pre>
<ul>
 	<li><strong>Scan for available updates</strong></li>
</ul>
<pre>$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession  
$result = $ci | Invoke-CimMethod -MethodName ScanForUpdates -Arguments @{SearchCriteria="IsInstalled=0";OnlineScan=$true}
$result.Updates</pre>
<ul>
 	<li><strong>Install all available updates</strong></li>
</ul>
<pre>$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession
Invoke-CimMethod -InputObject $ci -MethodName ApplyApplicableUpdates
Restart-Computer; exit</pre>
<ul>
 	<li><strong>Get a list of installed updates</strong></li>
</ul>
<pre>$ci = New-CimInstance -Namespace root/Microsoft/Windows/WindowsUpdate -ClassName MSFT_WUOperationsSession
$result = $ci | Invoke-CimMethod -MethodName ScanForUpdates -Arguments @{SearchCriteria="IsInstalled=1";OnlineScan=$true}
$result.Updates</pre>
&nbsp;
<h3>Feedback Welcome</h3>
We are continuing to investigate ways to improve and streamline the update experience for Nano Server. In the meantime, we hope this information will help you keep your Nano Servers up to date and running smoothly. And we welcome you to provide any feedback at our UserVoice site at <a href="https://windowsserver.uservoice.com/forums/295068-nano-server">https://windowsserver.uservoice.com/forums/295068-nano-server</a> or discuss any issues you encounter on our TechNet forum at <a href="https://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=NanoServer">https://social.technet.microsoft.com/Forums/windowsserver/en-US/home?forum=NanoServer</a>.

Thanks!]]></content:encoded>
    </item>
    <item>
      <title>Appreciating the Windows Server 2016 Desktop Experience</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/appreciating-the-windows-server-2016-desktop-experience</link>
      <pubDate>Tue, 04 Oct 2016 18:35:50 GMT</pubDate>
      <dc:creator><![CDATA[Derk Benisch [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=575</guid>
      <description><![CDATA[We’ve talked a lot about Nano Server in this blog, but we know many customers will still appreciate...]]></description>
      <content:encoded><![CDATA[We’ve talked a lot about Nano Server in this blog, but we know many customers will still appreciate the full desktop experience on Windows Server. Here’s what you get when you install that option and why you would want to use it.

When you install Windows Server with the full desktop experience, you are getting the same great Windows 10 UI experience with the added ability to install server roles and features. Features like Streaming Media Services, Windows Server Update Server, and RDS workloads run best on the full desktop experience.

In recent Windows Server 2016 Technical Previews, you may have noticed that the Windows Server with Desktop Experience installation option included a few additional Windows Client only features such as Microsoft Edge, Windows Store Client, and the Modern Calculator.

These features were temporarily included to gather additional feedback on their potential uses on Windows Server before shipping our RTM release. In the Windows Server 2016 RTM, they are replaced with the following:

&nbsp;
<p style="padding-left: 30px"><span style="text-decoration: underline"><strong>If you are using...</strong></span>                               <span style="text-decoration: underline"><strong>Now use...</strong></span></p>
<p style="padding-left: 30px">Windows Store Client          &gt;&gt;&gt;          Windows Store for Business</p>
<p style="padding-left: 30px">Microsoft Edge                    &gt;&gt;&gt;          Internet Explorer 11</p>
<p style="padding-left: 30px">Modern Calculator App       &gt;&gt;&gt;          Classic Calculator</p>
&nbsp;

We expect most folks will not be affected by this change. However, if you have built any automation, processes, etc. that leverage these excluded features, we recommended that you review your usage of them and make any necessary changes to leverage the features that replaced them in the RTM release.

&nbsp;

For additional details please visit:
<ul>
 	<li>Windows Store for Business, <a href="https://www.microsoft.com/business-store">https://www.microsoft.com/business-store</a></li>
 	<li>Windows Servicing Options, <a href="https://technet.microsoft.com/en-us/itpro/windows/manage/introduction-to-windows-10-servicing">https://technet.microsoft.com/en-us/itpro/windows/manage/introduction-to-windows-10-servicing</a></li>
 	<li>Microsoft Edge, <a href="https://technet.microsoft.com/en-us/itpro/microsoft-edge/hardware-and-software-requirements">https://technet.microsoft.com/en-us/itpro/microsoft-edge/hardware-and-software-requirements</a></li>
</ul>
&nbsp;

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Performance data collection on Nano Server</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/performance-data-collection-on-nano-server</link>
      <pubDate>Wed, 21 Sep 2016 02:17:28 GMT</pubDate>
      <dc:creator><![CDATA[Venkat Yalla [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=535</guid>
      <description><![CDATA[Event tracing and Performance Counters in Windows are powerful mechanisms to debug failures,...]]></description>
      <content:encoded><![CDATA[<div class="markdown-here-wrapper">
<p style="margin: 0px 0px 1.2em !important">Event tracing and Performance Counters in Windows are powerful mechanisms to debug failures, understand system behavior and improve performance. Nano Server fully supports the <a href="https://aka.ms/u2pa0i">Event Tracing for Windows</a> (ETW) framework, but some familiar tools used to manage tracing and performance counters may not yet be available on Nano Server. Happily, Nano Server has inbox tools and cmdlets to accomplish most common performance analysis scenarios. It just may entail using different commands and workflows than you may be used to.</p>
<p style="margin: 0px 0px 1.2em !important">Note that the high-level workflow remains the same as before — low-overhead tracing is performed on the Target (Nano Server) machine, and the resulting trace files and/or logs are post-processed offline on a separate machine using tools like the <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/hh448170.aspx">Windows Performance Analyzer</a>, <a href="https://www.microsoft.com/en-us/download/details.aspx?id=44226">Message Analyzer</a>, or others. This post primarily focuses on methods to record performance data without requiring any additional tools that are not part of the Nano image.</p>

<blockquote style="margin: 1.2em 0px;border-left: 4px solid #dddddd;padding: 0px 1em;color: #777777">
<p style="margin: 0px 0px 1em"><em>Refer to the <a href="https://aka.ms/nri9c8">how to copy files to and from Nano Server guide</a> for a refresher on how to transfer files using PowerShell remoting</em></p>
</blockquote>
<p style="margin: 0px 0px 1.2em !important">While it doesn’t cover every scenario, the table below lists the most common performance data collection activities along with a supported way to accomplish them on Nano Server. Click the links in the 2nd column to jump to the section with additional notes on usage.</p>

<table style="margin: 1.2em 0px;padding: 0px;border-collapse: collapse;border-spacing: 0px;font-style: inherit;font-variant: inherit;font-weight: inherit;font-size: inherit;line-height: inherit;font-family: inherit;border: 0px">
<thead>
<tr style="border-width: 1px 0px 0px;background-color: white;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<th style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em;font-weight: bold;background-color: #f0f0f0">Activity</th>
<th style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em;font-weight: bold;background-color: #f0f0f0">Nano Server supported</th>
</tr>
</thead>
<tbody style="margin: 0px;padding: 0px;border: 0px">
<tr style="border-width: 1px 0px 0px;background-color: white;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Query available Event Providers</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#query-available-event-providers">wpr.exe -providers</a></td>
</tr>
<tr style="border-width: 1px 0px 0px;background-color: #f8f8f8;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Record traces from a single ETW Provider</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#record-traces-from-a-single-etw-provider">Event Tracing cmdlets</a></td>
</tr>
<tr style="border-width: 1px 0px 0px;background-color: white;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Record traces from multiple ETW Providers</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#record-traces-from-multiple-etw-providers">wpr.exe -profiles</a></td>
</tr>
<tr style="border-width: 1px 0px 0px;background-color: #f8f8f8;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Record ETW traces during OS boot</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#record-etw-traces-during-os-boot">Event Tracing cmdlets</a></td>
</tr>
<tr style="border-width: 1px 0px 0px;background-color: white;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Capture Performance Counter data</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#capture-performance-counter-data">typeperf.exe</a></td>
</tr>
<tr style="border-width: 1px 0px 0px;background-color: #f8f8f8;margin: 0px;padding: 0px;border-color: #cccccc initial initial initial;border-style: solid initial initial initial">
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em">Interact with the Windows Event Log</td>
<td style="font-size: 1em;border: 1px solid #cccccc;margin: 0px;padding: 0.5em 1em"><a href="#interact-with-the-windows-event-log">Get-WinEvent</a></td>
</tr>
</tbody>
</table>
<h2 id="query-available-event-providers" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Query available Event Providers</h2>
<p style="margin: 0px 0px 1.2em !important">The <a href="https://msdn.microsoft.com/en-us/library/hh448229.aspx">Windows Performance Recorder</a> is an inbox tool that be used to get this information as follows:</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">wpr.exe -providers
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Output can be filtered on the type of events that are of interest. Example:</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; wpr.exe -providers | select-string "Storage"

 595f33ea-d4af-4f4d-b4dd-9dacdd17fc6e : Microsoft-Windows-StorageManagement-WSP-Host
 595f7f52-c90a-4026-a125-8eb5e083f15e : Microsoft-Windows-StorageSpaces-Driver
 69c8ca7e-1adf-472b-ba4c-a0485986b9f6 : Microsoft-Windows-StorageSpaces-SpaceManager
 7e58e69a-e361-4f06-b880-ad2f4b64c944 : Microsoft-Windows-StorageManagement
 88c09888-118d-48fc-8863-e1c6d39ca4df : Microsoft-Windows-StorageManagement-WSP-Spaces
</code></pre>
<h2 id="record-traces-from-a-single-etw-provider" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Record traces from a single ETW Provider</h2>
<p style="margin: 0px 0px 1.2em !important">The new <a href="https://technet.microsoft.com/en-us/library/dn919247.aspx">Event Tracing Management cmdlets</a> can used for this. Below is an example workflow.</p>
<p style="margin: 0px 0px 1.2em !important">Create and start the trace, specifying a file name for storing the events.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">PS C:\&gt; New-EtwTraceSession -Name "ExampleTrace" -LocalFilePath c:\etrace.etl
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Add a provider GUID to the trace. Use <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">wpr.exe -providers</code> for Provider Name to GUID translation.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; wpr.exe -providers | select-string "Kernel-Memory"

d1d93ef7-e1f2-4f45-9943-03d245fe6c00 : Microsoft-Windows-Kernel-Memory

PS C:\&gt; Add-EtwTraceProvider -Guid "{d1d93ef7-e1f2-4f45-9943-03d245fe6c00}" -SessionName "ExampleTrace"
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Remove the trace — this stops the trace session, flushing events to the associated log file.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; Remove-EtwTraceSession -Name "ExampleTrace"

PS C:\&gt; dir .\etrace.etl

    Directory: C:\

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        9/14/2016  11:17 AM       16515072 etrace.etl
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Note that while the example above shows adding a single trace provider to the session, the <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">Add-EtwTraceProvider</code> cmdlet can be executed multiple times on a trace session with different provider GUIDs to enable tracing from multiple sources. Another alternative is to use <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">wpr.exe</code> profiles described below.</p>

<h2 id="record-traces-from-multiple-etw-providers" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Record traces from multiple ETW Providers</h2>
<p style="margin: 0px 0px 1.2em !important"><a href="https://msdn.microsoft.com/en-us/library/hh448229.aspx">Windows Performance Recorder’s</a> <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">-profiles</code> option enables tracing from multiple providers at the same time. You can choose from a number of builtin profiles like CPU, Network, DiskIO etc.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\Users\Administrator\Documents&gt; wpr.exe -profiles

Microsoft Windows Performance Recorder Version 10.0.14393 (CoreSystem)
Copyright (c) 2015 Microsoft Corporation. All rights reserved.

        GeneralProfile              First level triage
        CPU                         CPU usage
        DiskIO                      Disk I/O activity
        FileIO                      File I/O activity
        Registry                    Registry I/O activity
        Network                     Networking I/O activity
        Heap                        Heap usage
        Pool                        Pool usage
        VirtualAllocation           VirtualAlloc usage
        Audio                       Audio glitches
        Video                       Video glitches
        Power                       Power usage
        InternetExplorer            Internet Explorer
        EdgeBrowser                 Edge Browser
        Minifilter                  Minifilter I/O activity
        GPU                         GPU activity
        Handle                      Handle usage
        XAMLActivity                XAML activity
        HTMLActivity                HTML activity
        DesktopComposition          Desktop composition activity
        XAMLAppResponsiveness       XAML App Responsiveness analysis
        HTMLResponsiveness          HTML Responsiveness analysis
        ReferenceSet                Reference Set analysis
        ResidentSet                 Resident Set analysis
        XAMLHTMLAppMemoryAnalysis   XAML/HTML application memory analysis
        UTC                         UTC Scenarios
        DotNET                      .NET Activity
        WdfTraceLoggingProvider     WDF Driver Activity
</code></pre>
<p style="margin: 0px 0px 1.2em !important">You can also author your own custom profiling configuration to record performance data from exactly the sources you desire. While the process of creating a custom profile is a little involved, it does provide a lot of flexibility and reusability. Detailed guidance on creating custom profiles is at the <a href="https://msdn.microsoft.com/en-us/library/windows/hardware/hh448223.aspx">WPR.exe documentation</a></p>

<h2 id="record-etw-traces-during-os-boot" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Record ETW traces during OS boot</h2>
<p style="margin: 0px 0px 1.2em !important">Sometimes there is a need to record performance events early during boot, this is when the cmdlet <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">New-AutologgerConfig</code> comes in handy. Usage is very similar to <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">New-EtwTraceSession</code> cmdlet, just that providers added to the Autologger’s config will only enabled early at next boot. The overall workflow looks like this:</p>
<p style="margin: 0px 0px 1.2em !important">First, create a new Autologger config.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">PS C:\&gt; New-AutologgerConfig -Name "BootPnpLog" -LocalFilePath c:\bootpnp.etl
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Add a ETW provider to it. In the example below we use the Kernel PnP provider. You invoke <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">Add-EtwTraceProvider</code> again, specifying the same Autologger name but a different GUID to enable boot trace collection from multiple sources.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">Add-EtwTraceProvider -Guid "{9c205a39-1250-487d-abd7-e831c6290539}" -AutologgerName BootPnpLog
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Note that this does not start an ETW session immediately, but rather configures one to start at next boot. After rebooting, a new ETW session with the Autologger config name is automatically started with the added trace providers enabled. After Nano Server boots up, you can stop the trace session with following command. This will stop the trace session after flushing the logged events to the associated trace file.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">PS C:\&gt; Remove-EtwTraceSession -Name BootPnpLog
</code></pre>
<p style="margin: 0px 0px 1.2em !important">If you don’t want another trace session to be auto-created at next boot, the Autologger config can be removed.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">PS C:\&gt; Remove-AutologgerConfig -Name BootPnpLog
</code></pre>
<p style="margin: 0px 0px 1.2em !important">If you need to collect boot and setup traces across a fleet of systems or on a diskless system, consider using <a href="https://technet.microsoft.com/en-us/windows-server-docs/compute/get-started-with-setup-and-boot-event-collection">Setup and Boot Event Collection</a> — a new feature in Windows Server 2016 that also supports Nano Server targets.</p>

<h2 id="capture-performance-counter-data" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Capture Performance Counter data</h2>
<p style="margin: 0px 0px 1.2em !important">Another popular way to gauge how well the OS, application or driver is performing is to use Performance Counters. Usually, this data is consumed via the <em>perfmon</em> GUI. <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">Typeperf.exe</code> is its command-line equivalent that is supported on Nano Server. Below is simple example to illustrate its usage.</p>
<p style="margin: 0px 0px 1.2em !important">Query available Counters; output can be filtered to easily find the ones of interest.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; typeperf.exe -q | Select-String "UDPv6"

\UDPv6\Datagrams/sec
\UDPv6\Datagrams Received/sec
\UDPv6\Datagrams No Port/sec
\UDPv6\Datagrams Received Errors
\UDPv6\Datagrams Sent/sec
</code></pre>
<p style="margin: 0px 0px 1.2em !important">You can specify the number of times and the interval at which Counter values are snapped. In the example below, Processor Idle Time is snapped 5 times every 3 seconds.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; typeperf.exe "\Processor Information(0,0)\% Idle Time" -si 3 -sc 5

"(PDH-CSV 4.0)","\\venkat-ns-g2\Processor Information(0,0)\% Idle Time"
"09/15/2016 09:20:56.002","99.982990"
"09/15/2016 09:20:59.002","99.469634"
"09/15/2016 09:21:02.003","99.990081"
"09/15/2016 09:21:05.003","99.990454"
"09/15/2016 09:21:08.003","99.998577"
Exiting, please wait...
The command completed successfully.
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Other command line options allow specifying Counter names of interest in a config file, redirecting output to a log file etc. Refer to the <a href="https://technet.microsoft.com/en-us/library/bb490960.aspx">typeperf.exe documentation</a> for details.</p>
<p style="margin: 0px 0px 1.2em !important">If you prefer using the Perfmon GUI for visualization, you can use it remotely with Nano Server targets. When adding Counters to the view, specify the Nano Server target in the computer name instead of the default <em></em>.</p>

<h2 id="interact-with-the-windows-event-log" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.4em;border-bottom: 1px solid #eeeeee">Interact with the Windows Event Log</h2>
<p style="margin: 0px 0px 1.2em !important">Nano Server supports the <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">Get-WinEvent</code> cmdlet, which provides powerful Windows Event Log filtering and querying capabilities, both locally as well as on a remote machine. Detailed options and examples are available at the <a href="https://technet.microsoft.com/en-us/library/hh849682.aspx">Get-WinEvent documentation page</a>. In the simple example below, we retrieve the <em>Errors</em> noted in the <em>System</em> log during the past two days.</p>

<pre style="font-size: 1em;font-family: Consolas, Inconsolata, Courier, monospace;line-height: 1.2em;margin: 1.2em 0px"><code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0.5em 0.7em;overflow: auto">
PS C:\&gt; $StartTime = (Get-Date) - (New-TimeSpan -Day 2)
PS C:\&gt; Get-WinEvent -FilterHashTable @{LogName='System'; Level=2; StartTime=$StartTime} | select TimeCreated, Message

TimeCreated Message
----------- -------
9/15/2016 11:31:19 AM Task Scheduler service failed to start Task Compatibility module. Tasks may not be able to reg...
9/15/2016 11:31:16 AM The Virtualization Based Security enablement policy check at phase 6 failed with status: {File...
9/15/2016 11:31:16 AM The Virtualization Based Security enablement policy check at phase 0 failed with status: {File...
</code></pre>
<p style="margin: 0px 0px 1.2em !important">Nano Server also supports <code style="font-size: 0.85em;font-family: Consolas, Inconsolata, Courier, monospace;margin: 0px 0.15em;padding: 0px 0.3em">wevtutil.exe</code> which allows you to retrieve information about event logs and publishers. Refer to <a href="https://aka.ms/qvod7p">wevtutil.exe documentation</a> for more details.</p>
<p style="margin: 0px 0px 1.2em !important">If you love GUIs, we’ve got you covered as well. <a href="https://blogs.technet.microsoft.com/servermanagement/2016/08/17/deploy-setup-server-management-tools/">Web-based Server management tools</a> can be used to remotely manage Nano Server targets and present a Nano Server Event Log via a web browser. Finally, if familiarity trumps all, you can still use the trusty old Event Viewer (eventvwr.msc) to view logs — just open it on a machine with a desktop and point it to a remote Nano Server machine!</p>

<h3 id="feedback-appreciated" style="margin: 1.3em 0px 1em;padding: 0px;font-weight: bold;font-size: 1.3em">Feedback appreciated</h3>
<p style="margin: 0px 0px 1.2em !important">That’s it for this post, hope you found it useful. As always, please be generous with your feedback and let us know if you would like to see any scenario or favorite perf tool enabled to make Nano Server even better!</p>

<div title="MDH:PHA+RXZlbnQgdHJhY2luZyBhbmQgUGVyZm9ybWFuY2UgQ291bnRlcnMgaW4gV2luZG93cyBhcmUg cG93ZXJmdWwgbWVjaGFuaXNtcyB0byBkZWJ1ZyBmYWlsdXJlcywgdW5kZXJzdGFuZCBzeXN0ZW0g YmVoYXZpb3IgYW5kIGltcHJvdmUgcGVyZm9ybWFuY2UuIE5hbm8gU2VydmVyIGZ1bGx5IHN1cHBv cnRzIHRoZSBbRXZlbnQgVHJhY2luZyBmb3IgV2luZG93c10oaHR0cHM6Ly9ha2EubXMvdTJwYTBp KSAoRVRXKSBmcmFtZXdvcmssIGJ1dCBzb21lIGZhbWlsaWFyIHRvb2xzIHVzZWQgdG8gbWFuYWdl IHRyYWNpbmcgYW5kIHBlcmZvcm1hbmNlIGNvdW50ZXJzIG1heSBub3QgeWV0IGJlIGF2YWlsYWJs ZSBvbiBOYW5vIFNlcnZlci4gSGFwcGlseSwgTmFubyBTZXJ2ZXIgaGFzIGluYm94IHRvb2xzIGFu ZCBjbWRsZXRzIHRvIGFjY29tcGxpc2ggbW9zdCBjb21tb24gcGVyZm9ybWFuY2UgYW5hbHlzaXMg c2NlbmFyaW9zLiBJdCBqdXN0IG1heSBlbnRhaWwgdXNpbmcgZGlmZmVyZW50IGNvbW1hbmRzIGFu ZCB3b3JrZmxvd3MgdGhhbiB5b3UgbWF5IGJlIHVzZWQgdG8uPC9wPjxwPk5vdGUgdGhhdCB0aGUg aGlnaC1sZXZlbCB3b3JrZmxvdyByZW1haW5zIHRoZSBzYW1lIGFzIGJlZm9yZSAtLSBsb3ctb3Zl cmhlYWQgdHJhY2luZyBpcyBwZXJmb3JtZWQgb24gdGhlIFRhcmdldCAoTmFubyBTZXJ2ZXIpIG1h Y2hpbmUsIGFuZCB0aGUgcmVzdWx0aW5nIHRyYWNlIGZpbGVzIGFuZC9vciBsb2dzIGFyZSBwb3N0 LXByb2Nlc3NlZCBvZmZsaW5lIG9uIGEgc2VwYXJhdGUgbWFjaGluZSB1c2luZyB0b29scyBsaWtl IHRoZSBbV2luZG93cyBQZXJmb3JtYW5jZSBBbmFseXplcl0oaHR0cHM6Ly9tc2RuLm1pY3Jvc29m dC5jb20vZW4tdXMvbGlicmFyeS93aW5kb3dzL2hhcmR3YXJlL2hoNDQ4MTcwLmFzcHgpLCBbTWVz c2FnZSBBbmFseXplcl0oaHR0cHM6Ly93d3cubWljcm9zb2Z0LmNvbS9lbi11cy9kb3dubG9hZC9k ZXRhaWxzLmFzcHg/aWQ9NDQyMjYpLCBvciBvdGhlcnMuIFRoaXMgcG9zdCBwcmltYXJpbHkgZm9j dXNlcyBvbiBtZXRob2RzIHRvIHJlY29yZCBwZXJmb3JtYW5jZSBkYXRhIHdpdGhvdXQgcmVxdWly aW5nIGFueSBhZGRpdGlvbmFsIHRvb2xzIHRoYXQgYXJlIG5vdCBwYXJ0IG9mIHRoZSBOYW5vIGlt YWdlLjwvcD48cD4mZ3Q7ICpSZWZlciB0byB0aGUgW2hvdyB0byBjb3B5IGZpbGVzIHRvIGFuZCBm cm9tIE5hbm8gU2VydmVyIGd1aWRlXShodHRwczovL2FrYS5tcy9ucmk5YzgpIGZvciBhIHJlZnJl c2hlciBvbiBob3cgdG8gdHJhbnNmZXIgZmlsZXMgdXNpbmcgUG93ZXJTaGVsbCByZW1vdGluZyo8 L3A+PHA+V2hpbGUgaXQgZG9lc24ndCBjb3ZlciBldmVyeSBzY2VuYXJpbywgdGhlIHRhYmxlIGJl bG93IGxpc3RzIHRoZSBtb3N0IGNvbW1vbiBwZXJmb3JtYW5jZSBkYXRhIGNvbGxlY3Rpb24gYWN0 aXZpdGllcyBhbG9uZyB3aXRoIGEgc3VwcG9ydGVkIHdheSB0byBhY2NvbXBsaXNoIHRoZW0gb24g TmFubyBTZXJ2ZXIuIENsaWNrIHRoZSBsaW5rcyBpbiB0aGUgMm5kIGNvbHVtbiB0byBqdW1wIHRv IHRoZSBzZWN0aW9uIHdpdGggYWRkaXRpb25hbCBub3RlcyBvbiB1c2FnZS48L3A+PHA+fEFjdGl2 aXR5fE5hbm8gU2VydmVyIHN1cHBvcnRlZHw8YnI+fC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tfDxicj58UXVlcnkgYXZhaWxhYmxlIEV2ZW50IFByb3ZpZGVyc3xbd3ByLmV4ZSAt cHJvdmlkZXJzXSgjcXVlcnktYXZhaWxhYmxlLWV2ZW50LXByb3ZpZGVycyl8PGJyPnxSZWNvcmQg dHJhY2VzIGZyb20gYSBzaW5nbGUgRVRXIFByb3ZpZGVyfFtFdmVudCBUcmFjaW5nIGNtZGxldHNd KCNyZWNvcmQtdHJhY2VzLWZyb20tYS1zaW5nbGUtZXR3LXByb3ZpZGVyKXw8YnI+fFJlY29yZCB0 cmFjZXMgZnJvbSBtdWx0aXBsZSBFVFcgUHJvdmlkZXJzfFt3cHIuZXhlIC1wcm9maWxlc10oI3Jl Y29yZC10cmFjZXMtZnJvbS1tdWx0aXBsZS1ldHctcHJvdmlkZXJzKXw8YnI+fFJlY29yZCBFVFcg dHJhY2VzIGR1cmluZyBPUyBib290fFtFdmVudCBUcmFjaW5nIGNtZGxldHNdKCNyZWNvcmQtZXR3 LXRyYWNlcy1kdXJpbmctb3MtYm9vdCl8PGJyPnxDYXB0dXJlIFBlcmZvcm1hbmNlIENvdW50ZXIg ZGF0YXxbdHlwZXBlcmYuZXhlXSgjY2FwdHVyZS1wZXJmb3JtYW5jZS1jb3VudGVyLWRhdGEpfDxi cj58SW50ZXJhY3Qgd2l0aCB0aGUgV2luZG93cyBFdmVudCBMb2d8W0dldC1XaW5FdmVudF0oI2lu dGVyYWN0LXdpdGgtdGhlLXdpbmRvd3MtZXZlbnQtbG9nKXw8L3A+PHA+IyMgUXVlcnkgYXZhaWxh YmxlIEV2ZW50IFByb3ZpZGVyczxicj5UaGUgW1dpbmRvd3MgUGVyZm9ybWFuY2UgUmVjb3JkZXJd KGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvaGg0NDgyMjkuYXNweCkg aXMgYW4gaW5ib3ggdG9vbCB0aGF0IGJlIHVzZWQgdG8gZ2V0IHRoaXMgaW5mb3JtYXRpb24gYXMg Zm9sbG93czo8YnI+YGBgPGJyPndwci5leGUgLXByb3ZpZGVyczxicj5gYGA8L3A+PHA+T3V0cHV0 IGNhbiBiZSBmaWx0ZXJlZCBvbiB0aGUgdHlwZSBvZiBldmVudHMgdGhhdCBhcmUgb2YgaW50ZXJl c3QuIEV4YW1wbGU6PGJyPmBgYDxicj5QUyBDOlwmZ3Q7IHdwci5leGUgLXByb3ZpZGVycyB8IHNl bGVjdC1zdHJpbmcgIlN0b3JhZ2UiPC9wPjxwPjU5NWYzM2VhLWQ0YWYtNGY0ZC1iNGRkLTlkYWNk ZDE3ZmM2ZSA6IE1pY3Jvc29mdC1XaW5kb3dzLVN0b3JhZ2VNYW5hZ2VtZW50LVdTUC1Ib3N0PGJy PiA1OTVmN2Y1Mi1jOTBhLTQwMjYtYTEyNS04ZWI1ZTA4M2YxNWUgOiBNaWNyb3NvZnQtV2luZG93 cy1TdG9yYWdlU3BhY2VzLURyaXZlcjxicj4gNjljOGNhN2UtMWFkZi00NzJiLWJhNGMtYTA0ODU5 ODZiOWY2IDogTWljcm9zb2Z0LVdpbmRvd3MtU3RvcmFnZVNwYWNlcy1TcGFjZU1hbmFnZXI8YnI+ IDdlNThlNjlhLWUzNjEtNGYwNi1iODgwLWFkMmY0YjY0Yzk0NCA6IE1pY3Jvc29mdC1XaW5kb3dz LVN0b3JhZ2VNYW5hZ2VtZW50PGJyPiA4OGMwOTg4OC0xMThkLTQ4ZmMtODg2My1lMWM2ZDM5Y2E0 ZGYgOiBNaWNyb3NvZnQtV2luZG93cy1TdG9yYWdlTWFuYWdlbWVudC1XU1AtU3BhY2VzPGJyPmBg YDwvcD48cD4jI1JlY29yZCB0cmFjZXMgZnJvbSBhIHNpbmdsZSBFVFcgUHJvdmlkZXI8YnI+VGhl IG5ldyBbRXZlbnQgVHJhY2luZyBNYW5hZ2VtZW50IGNtZGxldHNdKGh0dHBzOi8vdGVjaG5ldC5t aWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvZG45MTkyNDcuYXNweCkgY2FuIHVzZWQgZm9yIHRo aXMuIEJlbG93IGlzIGFuIGV4YW1wbGUgd29ya2Zsb3cuPC9wPjxwPkNyZWF0ZSBhbmQgc3RhcnQg dGhlIHRyYWNlLCBzcGVjaWZ5aW5nIGEgZmlsZSBuYW1lIGZvciBzdG9yaW5nIHRoZSBldmVudHMu PGJyPmBgYDxicj5QUyBDOlwmZ3Q7IE5ldy1FdHdUcmFjZVNlc3Npb24gLU5hbWUgIkV4YW1wbGVU cmFjZSIgLUxvY2FsRmlsZVBhdGggYzpcZXRyYWNlLmV0bDxicj5gYGA8L3A+PHA+QWRkIGEgcHJv dmlkZXIgR1VJRCB0byB0aGUgdHJhY2UuIFVzZSBgYGB3cHIuZXhlIC1wcm92aWRlcnNgYGAgZm9y IFByb3ZpZGVyIE5hbWUgdG8gR1VJRCB0cmFuc2xhdGlvbi4gPGJyPmBgYDxicj5QUyBDOlwmZ3Q7 IHdwci5leGUgLXByb3ZpZGVycyB8IHNlbGVjdC1zdHJpbmcgIktlcm5lbC1NZW1vcnkiPC9wPjxw PmQxZDkzZWY3LWUxZjItNGY0NS05OTQzLTAzZDI0NWZlNmMwMCA6IE1pY3Jvc29mdC1XaW5kb3dz LUtlcm5lbC1NZW1vcnk8L3A+PHA+UFMgQzpcJmd0OyBBZGQtRXR3VHJhY2VQcm92aWRlciAtR3Vp ZCAie2QxZDkzZWY3LWUxZjItNGY0NS05OTQzLTAzZDI0NWZlNmMwMH0iIC1TZXNzaW9uTmFtZSAi RXhhbXBsZVRyYWNlIjxicj5gYGA8L3A+PHA+UmVtb3ZlIHRoZSB0cmFjZSAtLSB0aGlzIHN0b3Bz IHRoZSB0cmFjZSBzZXNzaW9uLCBmbHVzaGluZyBldmVudHMgdG8gdGhlIGFzc29jaWF0ZWQgbG9n IGZpbGUuPGJyPmBgYDxicj5QUyBDOlwmZ3Q7IFJlbW92ZS1FdHdUcmFjZVNlc3Npb24gLU5hbWUg IkV4YW1wbGVUcmFjZSI8L3A+PHA+UFMgQzpcJmd0OyBkaXIgLlxldHJhY2UuZXRsPC9wPjxwPkRp cmVjdG9yeTogQzpcPC9wPjxwPk1vZGUgTGFzdFdyaXRlVGltZSBMZW5ndGggTmFtZTxicj4tLS0t IC0tLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS08YnI+LWEtLS0tIDkvMTQvMjAxNiAxMToxNyBBTSAx NjUxNTA3MiBldHJhY2UuZXRsPGJyPmBgYDwvcD48cD5Ob3RlIHRoYXQgd2hpbGUgdGhlIGV4YW1w bGUgYWJvdmUgc2hvd3MgYWRkaW5nIGEgc2luZ2xlIHRyYWNlIHByb3ZpZGVyIHRvIHRoZSBzZXNz aW9uLCB0aGUgYGBgQWRkLUV0d1RyYWNlUHJvdmlkZXJgYGAgY21kbGV0IGNhbiBiZSBleGVjdXRl ZCBtdWx0aXBsZSB0aW1lcyBvbiBhIHRyYWNlIHNlc3Npb24gd2l0aCBkaWZmZXJlbnQgcHJvdmlk ZXIgR1VJRHMgdG8gZW5hYmxlIHRyYWNpbmcgZnJvbSBtdWx0aXBsZSBzb3VyY2VzLiBBbm90aGVy IGFsdGVybmF0aXZlIGlzIHRvIHVzZSBgYGB3cHIuZXhlYGBgIHByb2ZpbGVzIGRlc2NyaWJlZCBi ZWxvdy48L3A+PHA+IyNSZWNvcmQgdHJhY2VzIGZyb20gbXVsdGlwbGUgRVRXIFByb3ZpZGVyczxi cj5bV2luZG93cyBQZXJmb3JtYW5jZSBSZWNvcmRlcidzXShodHRwczovL21zZG4ubWljcm9zb2Z0 LmNvbS9lbi11cy9saWJyYXJ5L2hoNDQ4MjI5LmFzcHgpIGBgYC1wcm9maWxlc2BgYCBvcHRpb24g ZW5hYmxlcyB0cmFjaW5nIGZyb20gbXVsdGlwbGUgcHJvdmlkZXJzIGF0IHRoZSBzYW1lIHRpbWUu IFlvdSBjYW4gY2hvb3NlIGZyb20gYSBudW1iZXIgb2YgYnVpbHRpbiBwcm9maWxlcyBsaWtlIENQ VSwgTmV0d29yaywgRGlza0lPIGV0Yy4gPGJyPmBgYDxicj5QUyBDOlxVc2Vyc1xBZG1pbmlzdHJh dG9yXERvY3VtZW50cyZndDsgd3ByLmV4ZSAtcHJvZmlsZXM8L3A+PHA+TWljcm9zb2Z0IFdpbmRv d3MgUGVyZm9ybWFuY2UgUmVjb3JkZXIgVmVyc2lvbiAxMC4wLjE0MzkzIChDb3JlU3lzdGVtKTxi cj5Db3B5cmlnaHQgKGMpIDIwMTUgTWljcm9zb2Z0IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjwvcD48cD5HZW5lcmFsUHJvZmlsZSBGaXJzdCBsZXZlbCB0cmlhZ2U8YnI+IENQVSBD UFUgdXNhZ2U8YnI+IERpc2tJTyBEaXNrIEkvTyBhY3Rpdml0eTxicj4gRmlsZUlPIEZpbGUgSS9P IGFjdGl2aXR5PGJyPiBSZWdpc3RyeSBSZWdpc3RyeSBJL08gYWN0aXZpdHk8YnI+IE5ldHdvcmsg TmV0d29ya2luZyBJL08gYWN0aXZpdHk8YnI+IEhlYXAgSGVhcCB1c2FnZTxicj4gUG9vbCBQb29s IHVzYWdlPGJyPiBWaXJ0dWFsQWxsb2NhdGlvbiBWaXJ0dWFsQWxsb2MgdXNhZ2U8YnI+IEF1ZGlv IEF1ZGlvIGdsaXRjaGVzPGJyPiBWaWRlbyBWaWRlbyBnbGl0Y2hlczxicj4gUG93ZXIgUG93ZXIg dXNhZ2U8YnI+IEludGVybmV0RXhwbG9yZXIgSW50ZXJuZXQgRXhwbG9yZXI8YnI+IEVkZ2VCcm93 c2VyIEVkZ2UgQnJvd3Nlcjxicj4gTWluaWZpbHRlciBNaW5pZmlsdGVyIEkvTyBhY3Rpdml0eTxi cj4gR1BVIEdQVSBhY3Rpdml0eTxicj4gSGFuZGxlIEhhbmRsZSB1c2FnZTxicj4gWEFNTEFjdGl2 aXR5IFhBTUwgYWN0aXZpdHk8YnI+IEhUTUxBY3Rpdml0eSBIVE1MIGFjdGl2aXR5PGJyPiBEZXNr dG9wQ29tcG9zaXRpb24gRGVza3RvcCBjb21wb3NpdGlvbiBhY3Rpdml0eTxicj4gWEFNTEFwcFJl c3BvbnNpdmVuZXNzIFhBTUwgQXBwIFJlc3BvbnNpdmVuZXNzIGFuYWx5c2lzPGJyPiBIVE1MUmVz cG9uc2l2ZW5lc3MgSFRNTCBSZXNwb25zaXZlbmVzcyBhbmFseXNpczxicj4gUmVmZXJlbmNlU2V0 IFJlZmVyZW5jZSBTZXQgYW5hbHlzaXM8YnI+IFJlc2lkZW50U2V0IFJlc2lkZW50IFNldCBhbmFs eXNpczxicj4gWEFNTEhUTUxBcHBNZW1vcnlBbmFseXNpcyBYQU1ML0hUTUwgYXBwbGljYXRpb24g bWVtb3J5IGFuYWx5c2lzPGJyPiBVVEMgVVRDIFNjZW5hcmlvczxicj4gRG90TkVUIC5ORVQgQWN0 aXZpdHk8YnI+IFdkZlRyYWNlTG9nZ2luZ1Byb3ZpZGVyIFdERiBEcml2ZXIgQWN0aXZpdHk8YnI+ YGBgPC9wPjxwPllvdSBjYW4gYWxzbyBhdXRob3IgeW91ciBvd24gY3VzdG9tIHByb2ZpbGluZyBj b25maWd1cmF0aW9uIHRvIHJlY29yZCBwZXJmb3JtYW5jZSBkYXRhIGZyb20gZXhhY3RseSB0aGUg c291cmNlcyB5b3UgZGVzaXJlLiBXaGlsZSB0aGUgcHJvY2VzcyBvZiBjcmVhdGluZyBhIGN1c3Rv bSBwcm9maWxlIGlzIGEgbGl0dGxlIGludm9sdmVkLCBpdCBkb2VzIHByb3ZpZGUgYSBsb3Qgb2Yg ZmxleGliaWxpdHkgYW5kIHJldXNhYmlsaXR5LiBEZXRhaWxlZCBndWlkYW5jZSBvbiBjcmVhdGlu ZyBjdXN0b20gcHJvZmlsZXMgaXMgYXQgdGhlIFtXUFIuZXhlIGRvY3VtZW50YXRpb25dKGh0dHBz Oi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9oYXJkd2FyZS9oaDQ0 ODIyMy5hc3B4KTwvcD48cD4jI1JlY29yZCBFVFcgdHJhY2VzIGR1cmluZyBPUyBib290PGJyPlNv bWV0aW1lcyB0aGVyZSBpcyBhIG5lZWQgdG8gcmVjb3JkIHBlcmZvcm1hbmNlIGV2ZW50cyBlYXJs eSBkdXJpbmcgYm9vdCwgdGhpcyBpcyB3aGVuIHRoZSBjbWRsZXQgYGBgTmV3LUF1dG9sb2dnZXJD b25maWdgYGAgY29tZXMgaW4gaGFuZHkuIFVzYWdlIGlzIHZlcnkgc2ltaWxhciB0byBgYGBOZXct RXR3VHJhY2VTZXNzaW9uYGBgIGNtZGxldCwganVzdCB0aGF0IHByb3ZpZGVycyBhZGRlZCB0byB0 aGUgQXV0b2xvZ2dlcidzIGNvbmZpZyB3aWxsIG9ubHkgZW5hYmxlZCBlYXJseSBhdCBuZXh0IGJv b3QuIFRoZSBvdmVyYWxsIHdvcmtmbG93IGxvb2tzIGxpa2UgdGhpczo8L3A+PHA+Rmlyc3QsIGNy ZWF0ZSBhIG5ldyBBdXRvbG9nZ2VyIGNvbmZpZy48YnI+YGBgPGJyPlBTIEM6XCZndDsgTmV3LUF1 dG9sb2dnZXJDb25maWcgLU5hbWUgIkJvb3RQbnBMb2ciIC1Mb2NhbEZpbGVQYXRoIGM6XGJvb3Rw bnAuZXRsIDxicj5gYGA8L3A+PHA+QWRkIGEgRVRXIHByb3ZpZGVyIHRvIGl0LiBJbiB0aGUgZXhh bXBsZSBiZWxvdyB3ZSB1c2UgdGhlIEtlcm5lbCBQblAgcHJvdmlkZXIuIFlvdSBpbnZva2UgYGBg QWRkLUV0d1RyYWNlUHJvdmlkZXJgYGAgYWdhaW4sIHNwZWNpZnlpbmcgdGhlIHNhbWUgQXV0b2xv Z2dlciBuYW1lIGJ1dCBhIGRpZmZlcmVudCBHVUlEIHRvIGVuYWJsZSBib290IHRyYWNlIGNvbGxl Y3Rpb24gZnJvbSBtdWx0aXBsZSBzb3VyY2VzLjxicj5gYGA8YnI+QWRkLUV0d1RyYWNlUHJvdmlk ZXIgLUd1aWQgIns5YzIwNWEzOS0xMjUwLTQ4N2QtYWJkNy1lODMxYzYyOTA1Mzl9IiAtQXV0b2xv Z2dlck5hbWUgQm9vdFBucExvZzxicj5gYGA8L3A+PHA+Tm90ZSB0aGF0IHRoaXMgZG9lcyBub3Qg c3RhcnQgYW4gRVRXIHNlc3Npb24gaW1tZWRpYXRlbHksIGJ1dCByYXRoZXIgY29uZmlndXJlcyBv bmUgdG8gc3RhcnQgYXQgbmV4dCBib290LiBBZnRlciByZWJvb3RpbmcsIGEgbmV3IEVUVyBzZXNz aW9uIHdpdGggdGhlIEF1dG9sb2dnZXIgY29uZmlnIG5hbWUgaXMgYXV0b21hdGljYWxseSBzdGFy dGVkIHdpdGggdGhlIGFkZGVkIHRyYWNlIHByb3ZpZGVycyBlbmFibGVkLiBBZnRlciBOYW5vIFNl cnZlciBib290cyB1cCwgeW91IGNhbiBzdG9wIHRoZSB0cmFjZSBzZXNzaW9uIHdpdGggZm9sbG93 aW5nIGNvbW1hbmQuIFRoaXMgd2lsbCBzdG9wIHRoZSB0cmFjZSBzZXNzaW9uIGFmdGVyIGZsdXNo aW5nIHRoZSBsb2dnZWQgZXZlbnRzIHRvIHRoZSBhc3NvY2lhdGVkIHRyYWNlIGZpbGUuPGJyPmBg YDxicj5QUyBDOlwmZ3Q7IFJlbW92ZS1FdHdUcmFjZVNlc3Npb24gLU5hbWUgQm9vdFBucExvZzxi cj5gYGA8L3A+PHA+SWYgeW91IGRvbid0IHdhbnQgYW5vdGhlciB0cmFjZSBzZXNzaW9uIHRvIGJl IGF1dG8tY3JlYXRlZCBhdCBuZXh0IGJvb3QsIHRoZSBBdXRvbG9nZ2VyIGNvbmZpZyBjYW4gYmUg cmVtb3ZlZC48YnI+YGBgPGJyPlBTIEM6XCZndDsgUmVtb3ZlLUF1dG9sb2dnZXJDb25maWcgLU5h bWUgQm9vdFBucExvZzxicj5gYGA8L3A+PHA+SWYgeW91IG5lZWQgdG8gY29sbGVjdCBib290IGFu ZCBzZXR1cCB0cmFjZXMgYWNyb3NzIGEgZmxlZXQgb2Ygc3lzdGVtcyBvciBvbiBhIGRpc2tsZXNz IHN5c3RlbSwgY29uc2lkZXIgdXNpbmcgW1NldHVwIGFuZCBCb290IEV2ZW50IENvbGxlY3Rpb25d KGh0dHBzOi8vdGVjaG5ldC5taWNyb3NvZnQuY29tL2VuLXVzL3dpbmRvd3Mtc2VydmVyLWRvY3Mv Y29tcHV0ZS9nZXQtc3RhcnRlZC13aXRoLXNldHVwLWFuZC1ib290LWV2ZW50LWNvbGxlY3Rpb24p IC0tIGEgbmV3IGZlYXR1cmUgaW4gV2luZG93cyBTZXJ2ZXIgMjAxNiB0aGF0IGFsc28gc3VwcG9y dHMgTmFubyBTZXJ2ZXIgdGFyZ2V0cy48L3A+PHA+IyMgQ2FwdHVyZSBQZXJmb3JtYW5jZSBDb3Vu dGVyIGRhdGE8YnI+QW5vdGhlciBwb3B1bGFyIHdheSB0byBnYXVnZSBob3cgd2VsbCB0aGUgT1Ms IGFwcGxpY2F0aW9uIG9yIGRyaXZlciBpcyBwZXJmb3JtaW5nIGlzIHRvIHVzZSBQZXJmb3JtYW5j ZSBDb3VudGVycy4gVXN1YWxseSwgdGhpcyBkYXRhIGlzIGNvbnN1bWVkIHZpYSB0aGUgKnBlcmZt b24qIEdVSS4gYGBgVHlwZXBlcmYuZXhlYGBgIGlzIGl0cyBjb21tYW5kLWxpbmUgZXF1aXZhbGVu dCB0aGF0IGlzIHN1cHBvcnRlZCBvbiBOYW5vIFNlcnZlci4gQmVsb3cgaXMgc2ltcGxlIGV4YW1w bGUgdG8gaWxsdXN0cmF0ZSBpdHMgdXNhZ2UuPC9wPjxwPlF1ZXJ5IGF2YWlsYWJsZSBDb3VudGVy czsgb3V0cHV0IGNhbiBiZSBmaWx0ZXJlZCB0byBlYXNpbHkgZmluZCB0aGUgb25lcyBvZiBpbnRl cmVzdC48YnI+YGBgPGJyPlBTIEM6XCZndDsgdHlwZXBlcmYuZXhlIC1xIHwgU2VsZWN0LVN0cmlu ZyAiVURQdjYiPC9wPjxwPlxVRFB2NlxEYXRhZ3JhbXMvc2VjPGJyPlxVRFB2NlxEYXRhZ3JhbXMg UmVjZWl2ZWQvc2VjPGJyPlxVRFB2NlxEYXRhZ3JhbXMgTm8gUG9ydC9zZWM8YnI+XFVEUHY2XERh dGFncmFtcyBSZWNlaXZlZCBFcnJvcnM8YnI+XFVEUHY2XERhdGFncmFtcyBTZW50L3NlYzxicj5g YGA8L3A+PHA+WW91IGNhbiBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgdGltZXMgYW5kIHRoZSBpbnRl cnZhbCBhdCB3aGljaCBDb3VudGVyIHZhbHVlcyBhcmUgc25hcHBlZC4gSW4gdGhlIGV4YW1wbGUg YmVsb3csIFByb2Nlc3NvciBJZGxlIFRpbWUgaXMgc25hcHBlZCA1IHRpbWVzIGV2ZXJ5IDMgc2Vj b25kcy48YnI+YGBgPGJyPlBTIEM6XCZndDsgdHlwZXBlcmYuZXhlICJcUHJvY2Vzc29yIEluZm9y bWF0aW9uKDAsMClcJSBJZGxlIFRpbWUiIC1zaSAzIC1zYyA1PC9wPjxwPiIoUERILUNTViA0LjAp IiwiXFx2ZW5rYXQtbnMtZzJcUHJvY2Vzc29yIEluZm9ybWF0aW9uKDAsMClcJSBJZGxlIFRpbWUi PGJyPiIwOS8xNS8yMDE2IDA5OjIwOjU2LjAwMiIsIjk5Ljk4Mjk5MCI8YnI+IjA5LzE1LzIwMTYg MDk6MjA6NTkuMDAyIiwiOTkuNDY5NjM0Ijxicj4iMDkvMTUvMjAxNiAwOToyMTowMi4wMDMiLCI5 OS45OTAwODEiPGJyPiIwOS8xNS8yMDE2IDA5OjIxOjA1LjAwMyIsIjk5Ljk5MDQ1NCI8YnI+IjA5 LzE1LzIwMTYgMDk6MjE6MDguMDAzIiwiOTkuOTk4NTc3Ijxicj5FeGl0aW5nLCBwbGVhc2Ugd2Fp dC4uLjxicj5UaGUgY29tbWFuZCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Ljxicj5gYGA8L3A+PHA+ T3RoZXIgY29tbWFuZCBsaW5lIG9wdGlvbnMgYWxsb3cgc3BlY2lmeWluZyBDb3VudGVyIG5hbWVz IG9mIGludGVyZXN0IGluIGEgY29uZmlnIGZpbGUsIHJlZGlyZWN0aW5nIG91dHB1dCB0byBhIGxv ZyBmaWxlIGV0Yy4gUmVmZXIgdG8gdGhlIFt0eXBlcGVyZi5leGUgZG9jdW1lbnRhdGlvbl0oaHR0 cHM6Ly90ZWNobmV0Lm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9iYjQ5MDk2MC5hc3B4KSBm b3IgZGV0YWlscy48L3A+PHA+SWYgeW91IHByZWZlciB1c2luZyB0aGUgUGVyZm1vbiBHVUkgZm9y IHZpc3VhbGl6YXRpb24sIHlvdSBjYW4gdXNlIGl0IHJlbW90ZWx5IHdpdGggTmFubyBTZXJ2ZXIg dGFyZ2V0cy4gV2hlbiBhZGRpbmcgQ291bnRlcnMgdG8gdGhlIHZpZXcsIHNwZWNpZnkgdGhlIE5h bm8gU2VydmVyIHRhcmdldCBpbiB0aGUgY29tcHV0ZXIgbmFtZSBpbnN0ZWFkIG9mIHRoZSBkZWZh dWx0ICombHQ7TG9jYWwgY29tcHV0ZXImZ3Q7Ki48L3A+PHA+IyMgSW50ZXJhY3Qgd2l0aCB0aGUg V2luZG93cyBFdmVudCBMb2c8L3A+PHA+TmFubyBTZXJ2ZXIgc3VwcG9ydHMgdGhlIGBgYEdldC1X aW5FdmVudGBgYCBjbWRsZXQsIHdoaWNoIHByb3ZpZGVzIHBvd2VyZnVsIFdpbmRvd3MgRXZlbnQg TG9nIGZpbHRlcmluZyBhbmQgcXVlcnlpbmcgY2FwYWJpbGl0aWVzLCBib3RoIGxvY2FsbHkgYXMg d2VsbCBhcyBvbiBhIHJlbW90ZSBtYWNoaW5lLiBEZXRhaWxlZCBvcHRpb25zIGFuZCBleGFtcGxl cyBhcmUgYXZhaWxhYmxlIGF0IHRoZSBbR2V0LVdpbkV2ZW50IGRvY3VtZW50YXRpb24gcGFnZV0o aHR0cHM6Ly90ZWNobmV0Lm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9oaDg0OTY4Mi5hc3B4 KS4gSW4gdGhlIHNpbXBsZSBleGFtcGxlIGJlbG93LCB3ZSByZXRyaWV2ZSB0aGUgKkVycm9ycyog bm90ZWQgaW4gdGhlICpTeXN0ZW0qIGxvZyBkdXJpbmcgdGhlIHBhc3QgdHdvIGRheXMuPGJyPmBg YDxicj5QUyBDOlwmZ3Q7ICRTdGFydFRpbWUgPSAoR2V0LURhdGUpIC0gKE5ldy1UaW1lU3BhbiAt RGF5IDIpPGJyPlBTIEM6XCZndDsgR2V0LVdpbkV2ZW50IC1GaWx0ZXJIYXNoVGFibGUgQHtMb2dO YW1lPSdTeXN0ZW0nOyBMZXZlbD0yOyBTdGFydFRpbWU9JFN0YXJ0VGltZX0gfCBzZWxlY3QgVGlt ZUNyZWF0ZWQsIE1lc3NhZ2U8L3A+PHA+VGltZUNyZWF0ZWQgTWVzc2FnZTxicj4tLS0tLS0tLS0t LSAtLS0tLS0tPGJyPjkvMTUvMjAxNiAxMTozMToxOSBBTSBUYXNrIFNjaGVkdWxlciBzZXJ2aWNl IGZhaWxlZCB0byBzdGFydCBUYXNrIENvbXBhdGliaWxpdHkgbW9kdWxlLiBUYXNrcyBtYXkgbm90 IGJlIGFibGUgdG8gcmVnLi4uPGJyPjkvMTUvMjAxNiAxMTozMToxNiBBTSBUaGUgVmlydHVhbGl6 YXRpb24gQmFzZWQgU2VjdXJpdHkgZW5hYmxlbWVudCBwb2xpY3kgY2hlY2sgYXQgcGhhc2UgNiBm YWlsZWQgd2l0aCBzdGF0dXM6IHtGaWxlLi4uPGJyPjkvMTUvMjAxNiAxMTozMToxNiBBTSBUaGUg VmlydHVhbGl6YXRpb24gQmFzZWQgU2VjdXJpdHkgZW5hYmxlbWVudCBwb2xpY3kgY2hlY2sgYXQg cGhhc2UgMCBmYWlsZWQgd2l0aCBzdGF0dXM6IHtGaWxlLi4uPGJyPmBgYDwvcD48cD5OYW5vIFNl cnZlciBhbHNvIHN1cHBvcnRzIGBgYHdldnR1dGlsLmV4ZWBgYCB3aGljaCBhbGxvd3MgeW91IHRv IHJldHJpZXZlIGluZm9ybWF0aW9uIGFib3V0IGV2ZW50IGxvZ3MgYW5kIHB1Ymxpc2hlcnMuIFJl ZmVyIHRvIFt3ZXZ0dXRpbC5leGUgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9ha2EubXMvcXZvZDdw KSBmb3IgbW9yZSBkZXRhaWxzLjwvcD48cD5JZiB5b3UgbG92ZSBHVUlzLCB3ZSd2ZSBnb3QgeW91 IGNvdmVyZWQgYXMgd2VsbC4gW1dlYi1iYXNlZCBTZXJ2ZXIgbWFuYWdlbWVudCB0b29sc10oaHR0 cHM6Ly9ibG9ncy50ZWNobmV0Lm1pY3Jvc29mdC5jb20vc2VydmVybWFuYWdlbWVudC8yMDE2LzA4 LzE3L2RlcGxveS1zZXR1cC1zZXJ2ZXItbWFuYWdlbWVudC10b29scy8pIGNhbiBiZSB1c2VkIHRv IHJlbW90ZWx5IG1hbmFnZSBOYW5vIFNlcnZlciB0YXJnZXRzIGFuZCBwcmVzZW50IGEgTmFubyBT ZXJ2ZXIgRXZlbnQgTG9nIHZpYSBhIHdlYiBicm93c2VyLiBGaW5hbGx5LCBpZiBmYW1pbGlhcml0 eSB0cnVtcHMgYWxsLCB5b3UgY2FuIHN0aWxsIHVzZSB0aGUgdHJ1c3R5IG9sZCBFdmVudCBWaWV3 ZXIgKGV2ZW50dndyLm1zYykgdG8gdmlldyBsb2dzIC0tIGp1c3Qgb3BlbiBpdCBvbiBhIG1hY2hp bmUgd2l0aCBhIGRlc2t0b3AgYW5kIHBvaW50IGl0IHRvIGEgcmVtb3RlIE5hbm8gU2VydmVyIG1h Y2hpbmUhPC9wPjxwPjxicj4jIyNGZWVkYmFjayBhcHByZWNpYXRlZDxicj5UaGF0J3MgaXQgZm9y IHRoaXMgcG9zdCwgaG9wZSB5b3UgZm91bmQgaXQgdXNlZnVsLiBBcyBhbHdheXMsIHBsZWFzZSBi ZSBnZW5lcm91cyB3aXRoIHlvdXIgZmVlZGJhY2sgYW5kIGxldCB1cyBrbm93IGlmIHlvdSB3b3Vs ZCBsaWtlIHRvIHNlZSBhbnkgc2NlbmFyaW8gb3IgZmF2b3JpdGUgcGVyZiB0b29sIGVuYWJsZWQg dG8gbWFrZSBOYW5vIFNlcnZlciBldmVuIGJldHRlciE8L3A+PHA+4oCLPGJyPjwvcD4=" style="height: 0;width: 0;max-height: 0;max-width: 0;overflow: hidden;font-size: 0em;padding: 0;margin: 0"></div>
</div>]]></content:encoded>
    </item>
    <item>
      <title>Deploying Nano Server to a Bare-Metal Machine using a WIM and WinPE</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/bare-metal-machine-using-a-wim-and-winpe</link>
      <pubDate>Fri, 29 Jul 2016 09:01:12 GMT</pubDate>
      <dc:creator><![CDATA[Refaat Issa [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=515</guid>
      <description><![CDATA[There are several ways to deploy Nano Server to a physical machine:

 	Dual-boot a Nano Server vhd...]]></description>
      <content:encoded><![CDATA[There are several ways to deploy Nano Server to a physical machine:
<ol>
 	<li>Dual-boot a Nano Server vhd or vhdx</li>
 	<li>PxE-boot a bare-metal machine and install Nano Server from WDS using a vhd or vhdx</li>
 	<li>PxE-boot a bare-metal machine and install Nano Server from WDS using a wim file</li>
 	<li>Booting a bare-metal machine into WinPE and deploying Nano Server using a .wim file</li>
</ol>
In this blog, we’ll talk about the last one.  For the first two, check out <a href="https://msdn.microsoft.com/en-us/library/mt126167.aspx">Getting Started with Nano Server</a> &amp; <a href="https://blogs.technet.microsoft.com/b/nanoserver/archive/2015/06/03/how-to-use-wds-to-pxe-boot-a-nano-server-vhd.aspx">How to use WDS to PxE Boot a Nano Server VHD</a>

To build the .wim image, please follow the instructions in <a href="https://msdn.microsoft.com/en-us/library/mt126167.aspx">Getting Started with Nano Server</a> and use New-NanoServerImage. Make sure to use a .wim extension with the -TargetPath parameter.

Boot into WinPE and make sure that the .wim file you just created is accessible from WinPE. (I copied the .wim file to a bootable WinPE image on a USB thumb drive).

Once WinPE boots, use diskpart.exe to prepare the target machine’s hard drive. Enter the following diskpart commands (modify accordingly, if you’re not using UEFI &amp; GPT):

Note that these commands will wipe out all data from the hard drive!!!
<pre>Diskpart.exe

Select disk 0

Clean

Convert GPT

Create partition efi size=100

Format quick FS=FAT32 label="System"

Assign letter="s"

Create partition msr size=128

Create partition primary

Format quick FS=NTFS label="NanoServer"

Assign letter="n"

List volume

Exit

</pre>
Apply the Nano Server image (adjust the path of the .wim file):
<pre>Dism.exe /apply-image /imagefile:.\ServerDatacenterNano.wim /index:1 /applydir:n:\ 

Bcdboot.exe n:\Windows /s s:</pre>
Remove the DVD media or USB drive and reboot your system using:
<pre>Wpeutil.exe reboot</pre>
That’s it. Looking forward to your feedback.

&nbsp;

ref@

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>Nano Server Boot Performance</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/nano-server-boot-performance</link>
      <pubDate>Fri, 24 Jun 2016 17:02:12 GMT</pubDate>
      <dc:creator><![CDATA[Refaat Issa [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=496</guid>
      <description><![CDATA[One of Microsoft’s Premier Field Engineers (Jaromir Kaspar) set up a virtual lab to measure Nano...]]></description>
      <content:encoded><![CDATA[One of Microsoft’s Premier Field Engineers (Jaromir Kaspar) set up a virtual lab to measure Nano Server’s boot performance and IO footprint, and compare those to Server Core and full Server.  Check out <a href="https://blogs.technet.microsoft.com/askpfeplat/2016/06/20/comparing-windows-server-2016-nano-tp5-provisioning-time-to-guicore-installation-options/">Jaromir’s blog post</a> for the full review.  Here’s the summary table to whet your appetite :) :
<div>
<table border="0"><colgroup> <col /> <col /> <col /> <col /> <col /> <col /> <col /> <col /> <col /></colgroup>
<tbody valign="top">
<tr>
<td valign="middle"><strong>Server                    </strong></td>
<td style="text-align: center" valign="middle"><strong>Boot Time (s)</strong></td>
<td style="text-align: center" valign="middle"><strong>Boot Degradation </strong></td>
<td style="text-align: center" valign="middle"><strong>Read (MB)</strong></td>
<td style="text-align: center" valign="middle"><strong>Read Degradation</strong></td>
<td style="text-align: center" valign="middle"><strong>Write (MB)</strong></td>
<td style="text-align: center" valign="middle"><strong>Write Degradation</strong></td>
<td style="text-align: center" valign="middle"><strong>Total (MB)</strong></td>
<td style="text-align: center" valign="middle"><strong>Total IO Degradation</strong></td>
</tr>
<tr>
<td valign="bottom">2016 Nano Server</td>
<td style="text-align: center" valign="middle">9</td>
<td style="text-align: center" valign="middle">1.0</td>
<td style="text-align: center" valign="middle">156</td>
<td style="text-align: center" valign="middle">1.0</td>
<td style="text-align: center" valign="middle">135</td>
<td style="text-align: center" valign="middle">1.0</td>
<td style="text-align: center" valign="middle">290</td>
<td style="text-align: center" valign="middle">1.0</td>
</tr>
<tr>
<td valign="bottom">2016 Server Core</td>
<td style="text-align: center" valign="middle">85</td>
<td style="text-align: center" valign="middle">9.4</td>
<td style="text-align: center" valign="middle">2,304</td>
<td style="text-align: center" valign="middle">14.8</td>
<td style="text-align: center" valign="middle">1,170</td>
<td style="text-align: center" valign="middle">8.7</td>
<td style="text-align: center" valign="middle">3,474</td>
<td style="text-align: center" valign="middle">12.0</td>
</tr>
<tr>
<td valign="bottom">2016 Full Server</td>
<td style="text-align: center" valign="middle">135</td>
<td style="text-align: center" valign="middle">15.0</td>
<td style="text-align: center" valign="middle">2,533</td>
<td style="text-align: center" valign="middle">16.3</td>
<td style="text-align: center" valign="middle">2,089</td>
<td style="text-align: center" valign="middle">15.5</td>
<td style="text-align: center" valign="middle">4,622</td>
<td style="text-align: center" valign="middle">15.9</td>
</tr>
<tr>
<td valign="bottom">2012 Server Core</td>
<td style="text-align: center" valign="middle">82</td>
<td style="text-align: center" valign="middle">9.1</td>
<td style="text-align: center" valign="middle">1,618</td>
<td style="text-align: center" valign="middle">10.4</td>
<td style="text-align: center" valign="middle">1,426</td>
<td style="text-align: center" valign="middle">10.6</td>
<td style="text-align: center" valign="middle">3,044</td>
<td style="text-align: center" valign="middle">10.5</td>
</tr>
<tr>
<td valign="bottom">2012 Full Server *</td>
<td style="text-align: center" valign="middle">84</td>
<td style="text-align: center" valign="middle">9.3</td>
<td style="text-align: center" valign="middle">1,694</td>
<td style="text-align: center" valign="middle">10.9</td>
<td style="text-align: center" valign="middle">1,453</td>
<td style="text-align: center" valign="middle">10.8</td>
<td style="text-align: center" valign="middle">3,147</td>
<td style="text-align: center" valign="middle">10.8</td>
</tr>
</tbody>
</table>
</div>
&nbsp;

* Full Server 2012 doesn’t have the desktop experience enabled

&nbsp;

ref@

&nbsp;]]></content:encoded>
    </item>
    <item>
      <title>MySQL on Nano Server</title>
      <link>https://docs.microsoft.com/archive/blogs/nanoserver/mysql-on-nano-server</link>
      <pubDate>Mon, 13 Jun 2016 18:09:39 GMT</pubDate>
      <dc:creator><![CDATA[Refaat Issa [MSFT]]]></dc:creator>
      <guid
        isPermaLink="false">https://blogs.technet.microsoft.com/nanoserver/?p=485</guid>
      <description><![CDATA[One of Nano Server’s core scenarios is to serve as a lightweight OS for born-in-the-cloud...]]></description>
      <content:encoded><![CDATA[<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">One of Nano Server’s core scenarios is to serve as a lightweight OS for born-in-the-cloud applications running in a VM or a container. Nano Server already supports </span></span><a href="https://blogs.iis.net/davidso/nano/aspnet"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">ASP.NET Core</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000"> (aka ASP.NET 5) with IIS, </span></span><a href="https://blogs.technet.microsoft.com/nanoserver/2016/05/04/node-js-on-nano-server/"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">Node.js</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">, </span></span><a href="https://blogs.technet.microsoft.com/nanoserver/2016/05/17/python-django-on-nano-server/"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">Python &amp; Django</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">, and now, we’re happy to announce support for MySQL.</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">The instructions in this blog explain how to get MySQL running on Nano Server. If you want to try this on a Nano Server VM, with </span></span><a href="https://www.microsoft.com/en-us/evalcenter/evaluate-windows-server-technical-preview?wt.mc_id=WW_CE_OMS_OO_BLOG_NONE"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">Windows Server 2016 Technical Preview 5</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000"> there are three ways you can quickly get a VM:</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">1.</span></span><span style="margin: 0px;line-height: 105%;font-family: 'Times New Roman',serif;font-size: 7pt"><span style="color: #000000">      </span></span><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Download the developer VHD at the above Technical Preview 5 link</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">2.</span></span><span style="margin: 0px;line-height: 105%;font-family: 'Times New Roman',serif;font-size: 7pt"><span style="color: #000000">      </span></span><a href="https://blogs.technet.microsoft.com/nanoserver/2016/04/27/nano-server-tp5-iaas-image-in-the-azure-gallery/"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">Create a VM in Azure</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000"> using the Nano Server image in the Azure Gallery. If you don’t have an Azure account, you can get a free 30-day trial. </span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">3.</span></span><span style="margin: 0px;line-height: 105%;font-family: 'Times New Roman',serif;font-size: 7pt"><span style="color: #000000">      </span></span><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Download the Technical Preview 5 ISO at the above link and then consult the </span></span><a href="https://technet.microsoft.com/en-us/library/mt126167.aspx"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">Nano Server documentation</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000"> to build a VM.</span></span>

&nbsp;

<span style="margin: 0px;color: #2e74b5;font-family: 'Calibri Light',sans-serif;font-size: 18pt">Installing MySQL on Nano Server</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Download mysql-5.7.13-winx64.zip to your development machine from </span></span><a href="https://dev.mysql.com/downloads/mysql/"><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #0563c1">https://dev.mysql.com/downloads/mysql/</span></span></a><span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">, unzip the file to a local folder, and rename the innermost mysql-5.7.13-winx64 folder to “MySQL” for simplicity.</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Use the following PowerShell script from an elevated PowerShell console, classic or ISE, to copy the binaries to your Nano Server machine:</span></span>

<span style="margin: 0px;color: orangered;font-family: 'Lucida Console';font-size: 9pt">$ip</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> = "0.0.0.0" # the IP address of your Nano Server machine</span>

<span style="margin: 0px;color: orangered;font-family: 'Lucida Console';font-size: 9pt">$s</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> = New-PSSession -ComputerName $ip -Credential ~\Administrator </span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"><span style="color: #000000"> </span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Copy-Item</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> -ToSession $s -Path .\MySQL" -Destination C:\ -Force -Recurse</span>

&nbsp;

<span style="margin: 0px;color: #2e74b5;font-family: 'Calibri Light',sans-serif;font-size: 18pt">Setting up your environment</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Remote into your Nano Server machine:</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Enter-PSSession</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> $s </span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"><span style="color: #000000"> </span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Now add the MySQL\bin folder to your path environment variable:</span></span>

<span style="margin: 0px;color: orangered;font-family: 'Lucida Console';font-size: 9pt">$env:path</span> <span style="margin: 0px;color: darkgray;font-family: 'Lucida Console';font-size: 9pt">+=</span> <span style="margin: 0px;color: darkred;font-family: 'Lucida Console';font-size: 9pt">";C:\MySQL\bin" </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">To make this change persist even after your Nano Server machine reboots, enter the following:</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">setx</span> <span style="margin: 0px;color: blueviolet;font-family: 'Lucida Console';font-size: 9pt">PATH</span> <span style="margin: 0px;color: orangered;font-family: 'Lucida Console';font-size: 9pt">$env:path</span> <span style="margin: 0px;color: blueviolet;font-family: 'Lucida Console';font-size: 9pt">/M</span><span style="margin: 0px;color: #626262;font-family: 'Lucida Console';font-size: 9pt">  </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Quick test:</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">mysql</span> <span style="margin: 0px;color: blueviolet;font-family: 'Lucida Console';font-size: 9pt">--version   </span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 12pt"><span style="color: #000000"> </span></span><span style="margin: 0px;color: darkgreen;font-family: 'Lucida Console';font-size: 9pt"># displays the MySQL version </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Now let’s initialize the MySQL daemon (ignore the warnings):</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">mysqld</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> --initialize --console </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Create mysql-init.txt (replace ‘myPassword’ with your own password):</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Set-Content</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> -Value "ALTER USER 'root'@'localhost' IDENTIFIED BY 'myPassword';" -Path c:\mysql\mysql-init.txt -Encoding Ascii </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Pass mysql-init.txt to the MySQL daemon for initialization (notice the double backslashes):</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">mysqld</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> --init-file=c:\\mysql\\mysql-init.txt --console</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Stop the daemon using Ctrl+C and type the following to install the service:</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">mysqld</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> --install </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">The service is now installed, but stopped. Go ahead and start it:</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Get-Service</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> MySQL</span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Start-Service</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> MySQL</span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Get-Service</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> MySQL</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Let’s display the system databases. Remember to replace myPassword with the same password you used when you created mysql-init.txt (ignore the warning):</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">mysql</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> --user=root --password=myPassword -Bse "SHOW DATABASES;" &gt; mytest.txt</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">We are redirecting the output to a file because interactive sessions are not supported!</span></span>

<span style="margin: 0px;color: blue;font-family: 'Lucida Console';font-size: 9pt">Type</span><span style="margin: 0px;font-family: 'Lucida Console';font-size: 9pt"> .\mytest.txt </span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">When you display the content of mytest.txt, you see the system databases.</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Congratulations! MySQL is up and running on Nano Server </span></span><span style="color: #000000">:)</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">For rich database design experience, I downloaded and installed MySQL Workbench on my development machine and pointed to my Nano Server VM.</span></span>

&nbsp;

<span style="margin: 0px;color: #2e74b5;font-family: 'Calibri Light',sans-serif;font-size: 18pt">What’s next?</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">MySQL is the latest addition to a series of app frameworks we are documenting how to get running on Nano Server. Let us know what your favorite app framework is, and be generous with your feedback on your Nano Server developer experience.</span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">Happy coding </span></span><span style="color: #000000">:)</span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000"> </span></span>

<span style="margin: 0px;font-family: 'Segoe UI',sans-serif"><span style="color: #000000">ref@</span></span>

<span style="color: #000000;font-family: Calibri"> </span>

<span style="color: #000000;font-family: Calibri"> </span>]]></content:encoded>
    </item>
  </channel>
</rss>