Category Archives: Windows

Windows Server 2016 Hyper-V quickly fills up system disk

Recently I had to replace my two lab servers, so I bought two brand new HP DL360-Gen9 servers. Lots of memory and a number of disks and processor capacity. Two weeks after installing Windows 2016 Hyper-V I noticed that my system disk (C:\ drive, approx. 185 GB) was filling up rapidly.


Initially I thougt it was the paging file (with 192 GB internal memory this can be an issue) but this was not the case since the paging file was located on drive D:\

Further investigation revealed that most data was located in the directory C:\ProgramData\Microsoft\Windows\Hyper-V\Virtual Machines, where all VM related files are located (except the virtual hard disks which were located in D:\Hyper-V\Virtual Hard Disks). It turned out to be very dynamic data located in .VMRS file. When a VM was turned off the VMRS file was gone, as soon as the VM was turned on again dir VMRS file was allocated again, and the size of the file was identical to the amount of memory of the Virtual Machine as can be seen in the following screenshot:


Next I’ve been looking at the smart paging option in Hyper-V, but this only makes sense when using dynamic memory, which was not the case in my environment (VMs were running Exchange 2013/2016).

Production snapshots are new in Windows 2016 Hyper-V. Production snapshots use VSS to create a snapshot (where the traditional snapshots create a system state using .VSV and .BIN files) so that would make sense in my scenario. But disabling snapshots at all on a VM basis didn’t make any difference, and the .VMRS files were still created.

The last option I had was the Automatic Stop Action option in Hyper-V (on a per VM basis). Using this option you can control what happens when the host shuts down. By default it is set to Save the virtual machine state, so when the Hyper-V host shuts down the entire VM is saved at that particular moment. To achieve this, space on disk is reserved equal to the amount of memory used by VM. Other options here are Turn off the virtual machine and Shut down the guest operating system.


Bingo, this was my issue. Save state will certainly have performance benefits, but I prefer to use the shut down option in my lab environment. After changing this on (most of) my VMs I have plenty of free space on my system disk Glimlach

Install Exchange 2007 SP3 on Windows 2008 R2

Now with Exchange server 2013 scenario testing on the way it’s time again to install Exchange Server 2007 in our lab again. Since Windows 2008 R2 is fully supported with Exchange Server 2007 SP3 this is my preferred server.

The easiest way to install the prerequisite server roles and features is to use PowerShell. The first server you’re going to install (and that is going to change Active Directory) needs the Remote Server Administration Tools (RSAT). RSAT also includes Active Directory Users and Computers, it can be useful to install it on other servers as well. Use the following command to install RSAT:

Import-Module ServerManager
Add-WindowsFeature RSAT-ADDS
Continue reading Install Exchange 2007 SP3 on Windows 2008 R2

TMG 2010 Console fails on startup

I ran into this issue several times now. After installing a new Forefront Threat Management Gateway (TMG) 2010 when the TMG Console is started the first time it fails with the following error:

An error has occurred in the script on this page.
Line: 283
Char: 13
Error: invalid argument
Code: 0
URL:file:///C:/Program%20Files/Microsoft%20/Forefront%20Threat%20 Management %20Gateway/UI_HTMLs/Generic.htm?guid=%7B43E06AFC-729B-8BC2-33A9E35BB12D%7D
Do you want to continue running scripts on this page?


This is a small bug in HTML interface code. To solve it, navigate to the C:\Program Files\Microsoft Forefront Threat Management Gateway\UI_HTMLs\TabsHandler\ directory and open the file.

There are 3 lines containing “paddingTop” causing this issue. Find the lines and disable them by adding // at the beginning of the line.


Save the file and the console opens as expected.

Upgrade Windows Standard to Enterprise

Note. When Exchange is installed on this particular server you can use this procedure only in a lab environment. To change an Exchange server is not a supported scenario!

When installing an Exchange 2010 environment in my lab I discovered that the Fail Over Clustering bits were not available on my planned DAG members. It turned out that I installed Windows 2008 R2 Standard Edition instead of Enterprise Edition. Even worse, Exchange Server 2010 SP2 was already installed as well.

On TechNet there’s an article that explains how to Upgrade Windows 2008 R2 without using the installation media (i.e. reinstall Windows 2008 R2 from scratch) using DISM, the Deployment Image Servicing and Management Tool.

Continue reading Upgrade Windows Standard to Enterprise