Microsoft Windows Server 2004: This update will help you make the most of containers


The latest SAC release of Windows Server continues Microsoft’s drive to reduce server container sizes, especially for .NET, without losing application performance.

The solution to ‘my version of Windows Server is about to lose support’ used to be ‘upgrade to a newer version’. But if you’ve carried on running an old version, such as Windows Server 2008 or 2008 R2, it’s probably not because you didn’t want to take the time to upgrade. Most likely it’s because you were running line-of-business applications that didn’t get any better on a newer OS, so the cost and disruption of upgrading outweighed the security benefits.

SEE: 250+ tips for telecommuting and managing remote workers (TechRepublic Premium)

Microsoft has been pushing organisations to modernise those server applications to run in containers — perhaps adding new features, but definitely making them more portable so it’s easier to keep the OS they’re running on up to date. The six-monthly Semi-Annual Channel (SAC) releases of Windows Server are where the updates to that container platform show up quickest, so you’re unlikely to experience the cognitive dissonance of moving from Windows Server 2008 to Windows Server 2004. But those who have already started work on modernising server apps will see some welcome improvements in this new release, especially for .NET.

The emphasis on reducing the download size of Windows Server container images continues (see chart, below): Windows Server 2004 is about 20% smaller than with WS 1909; the on-disk size is also smaller — just under 4GB instead of slightly less than 5GB. That makes it faster to download a container and deploy it.

A lot of the space saving comes from moving most of the NGEN performance optimisation from the Server Core image to the .NET Framework runtime image. Windows Server comes with .NET native binaries precompiled with NGEN, which makes them faster but also makes the image size larger. The Server Core image now has a much smaller set of precompiled binaries — just the x86 and X64 versions of mscorlib.dll, System.dll and System.Core.dll, along with a serviced version of the .NET Framework.

Even with the extra NGEN files, the .NET Framework image is also smaller. Partly that’s because many traditional Windows Server applications are ASP.NET web applications and the NGEN optimisation is now targeted to ASP.NET apps and PowerShell scripts, and partly because the image is now built to avoid the bloat you get by updating files through the Dockerfile that builds the image (which adds multiple copies of the file). Instead of installing and then patching the .NET Framework, the image loads the Windows Server Core to get the .NET Framework and then uses NGEN to pre-compile only the 64-bit assemblies for PowerShell and ASP.NET.

Microsoft continues to reduce Windows Server’s download size, and the space it occupies on disk.

Data: Microsoft / Chart: TechRepublic

Admin-friendly containers

Although it’s not tied to Windows Server 2004, Windows Admin Center (WAC) also now makes it easier to work with containers on Windows Server.

In the past, Microsoft has put a lot of emphasis on the developer tools for building and debugging apps in containers, but that didn’t help sysadmins who were used to providing a VM infrastructure to run applications. WAC has tools for monitoring and troubleshooting containers running on Windows Server, but until now it didn’t have the tools to move existing apps into containers.

There’s now an extension that enables WAC to pull container images from container registries like Docker Hub, spin up containers (setting options like CPU and RAM allocation, environment variables and persistent storage in much the same way as you would for VMs), create new container images and push them to Azure Container Registry (or other registries) so you can use them from different container hosts.

The extension is available on the Insider Feed, although you can use it with release versions of WAC as well: turn this on under Settings / Extensions / Feeds and add the feed, then pick the Containers extension from the list of available extensions. You’ll see the new features under Server Manager when you target a container host with Docker installed.

SEE: 5 developer interview horror stories (free PDF) (TechRepublic)

Initially, creating new images is restricted to containerising IIS Web Applications, including static web applications that don’t depend on frameworks and ASP.NET applications where you have access to the Visual Studio solution for the app. WAC will support more application types for containerisation in future: .NET and Java applications would be logical additions, as would SQL Server applications given that SQL Server itself is already available through containers.

You can incorporate PowerShell scripts for configuration, and you can use WAC to update an existing Dockerfile (if you’ve created a container for a previous version of the application and need to rebuild it for either a new OS or a new version of the application, for example). And rather like graphical admin tools for Windows Server and Exchange that also created a PowerShell script, you could copy to use for future automation and to help admins learn PowerShell, you can see a preview of the Dockerfile in WAC as you fill in the configuration. That will help admins become more familiar with the way a Dockerfile works, without forcing them to pick up new tools to work with the containers that are becoming an important Windows Server workload.

Before planning Windows Server 2004 installations, check whether you’re using Parity Storage Spaces; upgrades to this release are blocked on some hardware configurations because those storage partitions may show as RAW space in Disk Manager and running CHKDSK to fix that can cause data loss. If you’ve already upgraded to Windows Server 2004 and see the problem, Microsoft advises setting Parity Storage Spaces to read-only until it releases a fix. From an admin PowerShell console, run Get-VirtualDisk | ? ResiliencySettingName -eq Parity | Get-Disk | Set-Disk -IsReadOnly $true.

Microsoft Weekly Newsletter

Be your company’s Microsoft insider by reading these Windows and Office tips, tricks, and cheat sheets.
Delivered Mondays and Wednesdays

Sign up today

Also see

Windows 10 PowerToys: A cheat sheet


Users are always searching for ways to make their computing lives better–the Windows 10 PowerToys are made specifically for this purpose.

No matter how many features Microsoft crams into its Windows 10 operating system, there will always be users looking for a faster, better, or at the very least, different way of doing things. The iteration of an operating system (no matter how well it works) is just part of human nature and it cannot be suppressed, so, why not embrace it?

Microsoft’s acknowledgement of this force of human nature is the Windows 10 PowerToys download. A set of slightly unusual free Windows tools has been a part of the Windows operating system landscape since Windows 95, but their availability has been noticeably absent for Windows 10—at least until September 2019.

In 2019, Microsoft, in partnership with development company Janea Systems, released the first two PowerToys for Windows 10, accompanied by a promise of more releases in the near future. This TechRepublic cheat sheet describes each available tool or feature provided by Microsoft’s official Windows 10 PowerToys. Note: This article is also available as a download–Cheat sheet: Windows 10 PowerToys (free PDF).

SEE: 20 pro tips to make Windows 10 work the way you want (free PDF) (TechRepublic)

When was Windows PowerToys first available?

The first set of Windows PowerToys were made available for Windows 95. That first set of 15 free utilities were published and endorsed by Microsoft and made available in a free download.

From the beginning, PowerToys were designed to be used by “power users” seeking ways to tweak the way the operating system functions. In some cases, a careless change made using a PowerToys utility by an inexperienced user could cause havoc with the Windows operating system, so novice users were encouraged to use caution.

For the most part, though, PowerToys would allow users, whether they considered themselves “power” or not, to more easily make tweaks to the look and feel of Windows without a deep dive into configuration screens or the dreaded and dangerous edit of the Windows Registry file. Windows 95 PowerToys included:

  • TweakUI was used for tweaking obscure Windows settings.
  • CD Autoplay allowed all CDs to autoplay, not just audio CDs.
  • Command Prompt Here opened a command prompt in the current directory.
  • Explore from Here opened File Explorer in the current directory.
  • FlexiCD allowed a user to control an audio CD from the Taskbar.
  • Xmouse 1.2 allowed a user to change window focus by moving the mouse cursor, no click needed.

Through the years and the various Windows versions, individual PowerToys have come and gone. Each new Windows version inspired a new set of tools based on what developers perceived was needed to improve and enhance that version. Windows 10 has inspired a completely new set of PowerToys.

Additional resources

How can I get Windows 10 PowerToys?

Traditionally, each power toy has been offered as a separate executable file, available as a free download from a specific Microsoft website. For Windows 10, Microsoft is taking a slightly different approach: All Windows 10 PowerToys are now included as part of a free downloadable system that users can configure. Figure A shows you what the Windows 10 PowerToys system looks like.

Figure A

Windows 10 PowerToys Version 0.19.0 is available on GitHub right now. Release v0.19.0 includes bug fixes for over 100 quality and stability issues across all the featured PowerToys utilities. The development team is also stressing the need for constructive feedback on the PowerToys project.

These PowerToys are currently available:

  • FancyZones
  • Windows key Shortcut Guide
  • PowerRename
  • Preview Pane addons for File Explorer
  • Image resizer
  • Window walker
  • PowerToys Run
  • Keyboard Manager

SEE: All of TechRepublic’s cheat sheets and smart person’s guides

What can Windows 10 PowerToys do?

Here is a list of available Windows 10 PowerToys with a brief description of what each toy does.


FancyZones allows users to manage where and how each separate application window open on a Windows 10 desktop will display.

For example, you could use FancyZones to set up a Windows 10 desktop where Outlook always displays on the right-hand side of the desktop, Twitter or other social media always displays on the left-hand side of the desktop, and Word or Excel always displays in the middle between the other two. There would be three distinct and perpetual zones displayed at all times. Figure B shows how you select that configuration.

Figure B

Figure B

Windows key Shortcut Guide

The Windows key Shortcut Guide will display all of the available keyboard shortcuts for the current Windows 10 desktop (Figure C). This PowerToy is activated by holding the Windows key down for the length of time specified in the tool’s configuration settings. The default is 900ms. Now users won’t have to remember all those Windows key-related shortcut combinations.

Figure C

Figure C


The PowerRename Windows 10 PowerToy provides users with advanced tools for bulk renaming of file names. The toy extends the Windows Shell Context Menu to add an entry for PowerRename to File Explorer (Figure D). With PowerRename enabled, simple search and replace or more powerful regular expression matching to the bulk renaming process are added to your toolset. A preview area is displayed as you perform search and replace procedures so users can see how file names will change before initiating the action.

Figure D

Preview Pane addons for File Explorer

This Windows 10 PowerToy expands on the Preview Pane feature already available in the standard File Explorer application by adding additional file types. Preview Pane allows users to preview the contents of a file after clicking it in File Explorer without actually opening the file, as shown in Figure E. Version 0.16.0 adds preview support for Scalable Vector Graphics (.svg) and Markdown (.md) files. Additional file types are in development.

Figure E

Image Resizer

The Image Resizer Windows 10 PowerToy adds additional functionality to File Explorer by allowing users to apply bulk image resizing. Users select images in File Explorer and then select the new Resize pictures item on the context menu (Figure F), revealed with a right-click on any image.

Figure F

Windows Walker

The Windows Walker Windows 10 PowerToy is designed to be an alternative to the standard Alt-Tab feature of Windows 10. Users press the CTRL-Windows key combination instead of Alt-Tab to pull up a search box (Figure G). A user enters keywords into the search box to narrow down the currently open apps and screens on their desktop.

Figure G

PowerToys Run

PowerToys Run acts as a quick launcher in Windows 10. It is another extension of the ALT-Tab concept and taps into the Windows 10 file indexing system. To activate the tool, use the keyboard combination ALT-Space and start typing the name of your desired application, as shown in Figure H. PowerToys Run will search the system and start listing possible applications based on your search phrase. When the application you desire appears, click or tap to run.

Figure H

Keyboard Manager

The Keyboard Manager application in Windows 10 PowerToys is a simple keyboard re-mapper. Run the application from the PowerToys menu (Figure I) and either remap a single key on your keyboard or remap a shortcut keyboard combination. Whatever you remap will remain active as long as Keyboard Manager is enabled and PowerToys is running in the background.

Figure I

New Windows 10 PowerToys will be added to the list of available tools periodically.

Additional resources

Why are Windows 10 PowerToys important?

Windows 10 PowerToys provide tools and features that can make users of the Windows operating system more productive and, by extension, happier. Over the years, many users have come to depend on one or more of these PowerToys for their daily computer productivity. For many power users, PowerToys improve their quality of life.

Beyond making users more productive, PowerToys have also provided a glimpse of what features and tools could become an integral part of the Windows operating system in the future. Many of these once separate tools have become just another part of the operating system during its next iteration.

Additional resources

Microsoft Weekly Newsletter

Be your company’s Microsoft insider by reading these Windows and Office tips, tricks, and cheat sheets.
Delivered Mondays and Wednesdays

Sign up today

Editor’s note: This article was updated to reflect Windows 10 PowerToys version 0.19.0.

Windows 10 PCs: Why the new key to faster desktop applications is your GPU


Microsoft is bringing OpenCL and OpenGL support to DirectX, for both Windows and Windows Subsystem for Linux, enabling machine learning and data parallel computing in everyday business applications.

There’s a lot more to the modern GPU than high-speed, high-resolution graphics. They’re powerful compute engines, using their many cores as a way of implementing massively parallel processing algorithms, handling big data analysis and complex numerical computing problems, or supporting machine learning with neural network implementations.

Tasks like these used to need supercomputers — custom hardware designed to process large amounts of data as quickly as possible. But with GPUs in desktop computers and laptops (and even in modern servers), we can fit what used to need millions of dollars of hardware into much smaller and more affordable devices. While much GPU-based compute has been focused on scientific computing in high-end workstations, a new generation of desktop applications are starting to take advantage of GPU technology to add new features.

SEE: Computer Equipment Disposal policy (TechRepublic Premium)

There are many good reasons for keeping high-performance computing local: dealing with high-latency connections to cloud resources; user privacy; working within local regulatory constraints, for example. With machine learning essential to assistive technologies like voice recognition, or helping power document search and management, there’s a growing demand for local GPU-based applications, using a mix of technologies. Simple APIs like Windows’ ONNX-based WinML make it easy to handle inferencing in models created using cloud-based training services like those on Azure.

Compute in DirectX

Microsoft’s DirectX has already added compute support with its DirectML and DirectCompute features, alongside its C++ AMP extensions. You can use these in your code to connect applications directly to your GPU’s compute capabilities. They’re low-level technologies that require specific hardware support to work well, although they are significantly faster than using other Windows programming techniques.

DirectX isn’t the only set of GPU APIs with compute capabilities, so Windows support for additional GPU technologies is important. The open-source Mesa 3D libraries are a commonly used implementation of the core OpenGL and OpenCL specifications. Mesa 3D is widely used, but until recently graphics hardware vendors needed to ship both DirectX and Mesa 3D drivers, more than doubling the work needed to deliver drivers for Windows. As many cross-platform GPU compute workloads depend on OpenCL, lack of support from many lower-cost GPUs made it hard to port code to Windows.

Bringing Mesa3D to DirectX

Microsoft recently announced that it was working with Collabora to deliver a new Mesa 3D layer on top of DirectX 12. Building on existing translation layers, it’s a way of allowing hardware vendors to focus resources on their DirectX drivers, knowing that developers can still use Mesa 3D for OpenCL calls. The new layer gives you access to an OpenCL compiler and runtime that connect directly to DirectX. The result should be near-native speed, with familiar tools that reduce the work needed to port code to Windows.

Collabra is partnering with Microsoft to build OpenCL and OpenGL mapping layers, bringing OpenCL 1.2 and OpenGL 3.3 support to all Windows and DirectX 12 enabled devices.

Image: Collabora

With OpenCL support soon available for all Windows GPUs, what applications will take advantage of these new features? Adobe has been putting in GPU-accelerated machine learning in applications like Photoshop and Lightroom, while Corel has added AI-powered brushes to its natural material Painter. By opening DirectX’s GPU compute to cross-platform APIs like Mesa3D, it’s going to be easier for tools like this to deliver the same features across PC, Mac and Linux.

Adding GPU support to WSL 2

It’s not only Windows apps that will be able to take advantage of GPU compute on Windows 10. At Build 2020 Microsoft announced that it would be supporting GPU virtualisation in upcoming releases of its Windows Subsystem for Linux (WSL). This ensures that code running in WSL 2 will be able to take advantage of your PC’s graphics hardware, allowing you to use the GPUs in modern devices like the Surface Book 3 with technologies like TensorFlow.

Microsoft will be shipping a new Linux kernel driver that maps the Windows display driver to a Linux device, with a direct connection to your PC’s GPU. Your Linux code will be able to connect directly to GPU resources, so if Windows isn’t using the GPU, a WSL Linux application can use it all. It’s an approach that should work well on devices like the Surface Book 3, with both integrated and discrete graphics capabilities.

By making the new Linux driver compatible with the Windows driver, Microsoft can bring DirectX 12 to WSL. You get access to most of its features, apart from displaying pixels on a screen. That shouldn’t be too much of an issue, as you’ll still be able to use your PC’s GPU for compute and for offline rendering. The modules to implement the APIs remain closed source, so you won’t be able to modify them.

OpenCL in WSL

This approach allows Microsoft to bring its DirectML APIs to Linux, with support for both inferencing and training. Developers will be able to use familiar open-source machine-learning platforms in WSL to build, test, and train models that can then be exported using technologies like ONNX for use in WinML applications running under Windows. Microsoft will be releasing a build of TensorFlow with DirectML support for hardware-based model training.

Most Linux applications don’t use Microsoft APIs, instead working with the Khronos Group’s open standard APIs, with OpenCL providing GPU compute capabilities. WSL 2’s GPU support will include a version of the popular Mesa library that can access the new GPU virtualisation drivers, allowing familiar Mesa calls to OpenCL to run on Windows PCs. OpenCL is designed to work across different brands of GPUs, so if you want to access Nvidia-specific features, you need to use Nvidia’s own CUDA. Microsoft will be including CUDA support in WSL, with a version of libcuda that works with the new GPU drivers.

AMD has recently unveiled drivers that support WSL GPU-acceleration, rolling out an updated preview of its Adrenalin Radeon DirectX 12 drivers. As the updated DirectML adds support for model training as well as inferencing, you can take advantage of the latest high-end GPUs to work with familiar machine learning frameworks in either Windows or a WSL 2-hosted Linux distribution. You can start experimenting with it in the latest Dev channel (what used to be the Fast Ring) Windows 10 builds.

Unifying GPU support in Windows makes a lot of sense. Vendors can reduce support costs, while Microsoft can finally offer a cross-platform GPU solution that simplifies porting code from many different platforms (both for productivity and for gaming) to Windows. With tools like TensorFlow available to Windows, and with the ability to train ML models on workstation PCs, it’s going to be interesting to see how machine learning and data parallel computing arrive in our everyday business applications.

Microsoft Weekly Newsletter

Be your company’s Microsoft insider by reading these Windows and Office tips, tricks, and cheat sheets.
Delivered Mondays and Wednesdays

Sign up today

Also see