Passed the 70-533 Azure Infrastructure exam

Today I had registered for a second try of the 70-533 Azure Infrastructure exam, two weeks ago I tried this exam and failed, this time it was a bit more successful and I passed.


The first time doing the exam I was thinking that my knowledge in Azure would be enough but I was a bit wrong 😛

These last two weeks since my last try I have been studying and exploring the features and documentation on Azure and it is a seriously complex and full-featured cloud platform!

I will in this post give you some advice on what areas I have been studying if you are also aiming for taking this test..

First of all, you can see on the Microsoft Learning page on what areas that is covered in the exam,

Screen Shot 2014-12-30 at 22.15.01

I have used Azuremans blog post about the exam topics, Marius has also made a blog post about the exam and what to read and learn.

I have also used the Microsoft Virtual Academy : Establish Microsoft Azure IaaS Technical Fundamentals course.

Some of the links to Azure documentation and blog post that I have gone through during my hours of learning :

Good luck in your pursue for the Azure certification!


New sponsor on my blog 5Nine Software

I have got the pleasure to get a new sponsor for my blog and that is the company 5Nine Software that makes some cool products for Hyper-V


 The products they have

  • 5Nine Hyper-V Manager – a great christmas sale with 25 % right now!
  • 5Nine v2v converter
  • 5Nine Cloud Security

And these are also available as free versions with some limits but still great stuff

check out their web!

Get and Set powerplan on Windows Hyper-v 2012 R2 Core

In my work on Hyper-V i have been looking at the performance of the hosts and wanted to both check and also be able to set the powerplan. In this post from Scripting Guys, Ed explains how to use CIM for the action to get and set the Power plans and how much faster that is than using WMI.

I have since Windows Server 2008 R2 tried to have the Core version as a best practice when running Hyper-V and in some cases it requires some extra skills and arguments during deployment and management 😉

The interesting part is that it differs between the full version and core as you can see that when I try to use Get-Cim from a Windows 2012 R2 full it works and I can see the different powerplans and also which one is active:

Screen Shot 2014-12-02 at 11.15.25

but when I try in a Windows Server 2012 R2 Core I get the following error “Provider load failure”, I have tried locally on the core and also remote so no difference there. My knowledge about WMI is a bit limited but a quick search says that it might be some missing or  corrupt files but I have tried 3 different servers installed with core so I would say it is something with missing!

Screen Shot 2014-12-02 at 11.33.01

As I want to be able to both check and set the right power plan centrally I have created two PowerShell functions that utilize the Powercfg.exe command within a invoke-command thus this works in Windows Server 2012 R2 Core. I am using regex for getting the active plan and the guid. The Set-PowerPlan can either use switch arguments or an actual Guid.

Screen Shot 2014-12-02 at 20.26.42

My friend and fellow Hyper-V MVP Didier WorkingHardInIT has made a blog post about live migration and why using “High performance”.

If you have any input or ideas how this could be improved or if you got it to work in core with CIM 🙂

Update 20150108

There is a workaround for this, PowerShell MVP Alexandar Nikolic gave me the link to the connect site which shows the following way to get it to work natively in core by copying the missing files:

# Either copy missing files
dir c:\windows\winsxs -inc wcl.dll,slr100.dll,wclpowrprof.dll -rec -EA 0 |
copy -Dest C:\windows\system32 -verbose

# see

VMM agent disappeared on hyper-v host during update

This week I was working with a customer environment and after successfully upgraded their test VMM environment to UR4 it was now time for the production environment.

The UR4 installation went fine and without issues. After that I wanted to update the agents on the Hyper-V hosts. I used PowerShell of course and all agents except one was successfully updated and started reporting to VMM.

I started to examine the one that failed and could see in jobs that it had timed-out:

Screen Shot 2014-11-28 at 15.50.15

And checking on the host I could see that the uninstall of the old agent had been done as the vmm agent service was gone. As this was a hyper-v host in a cluster and the cluster was slightly over allocated I could not remove the node from vmm and then add it in again so,

Screen Shot 2014-11-28 at 15.43.50

Based on this post I went for the way to try to do a manual install on the host and copied the latest agent that i could find in the vmm folder C:\Program Files\Microsoft System Center 2012\Virtual Machine Manager\agents\Amd64\3.2.7768.0 to the host c:\temp

Screen Shot 2014-11-28 at 15.43.10

Important during the installation wizard was to let the perimiter host dialog checkbox to be unchecked as this was a host already in vmm and also in the same domain.

Screen Shot 2014-11-28 at 15.44.42

And doing a check on the services after the install was finished I could see that the VMM agent was installed and now running

Screen Shot 2014-11-28 at 15.45.36

Once that was completed I could do a refresh in VMM and the host was reporting again and could be managed 🙂

Look twice when deploying VM´s in VMM or get the wrong vhdx

Today I have been working with some updates on a customers Hyper-V environment and their host images (that I use for bare-metal deploy). The VMM server has all the updates with VMM 2012 R2 UR4 and also Windows Server with November update, although this issue goes further back than that and based on Brian Ehlert´s post you can see that it is by design 🙂

I wanted to deploy the vhdx to a host to update with settings and windows updates. In my library it looked as following and i right clicked on the marked vhdx and selected create VM.

Screen Shot 2014-11-28 at 14.42.07

But when I had deployed it and started working on it with patching and configuring, somethings did not seem to be right, and looking in the folder of the newly created vm revealed this:

Screen Shot 2014-11-28 at 14.52.43

As you can see it is the old vhdx that has been copied from the library, initially I thought that I maybe selected the wrong vhdx and recreated another VM with the exact same result!

Why did this happen? Well as I mentioned above with Brians post, this is because I have not changed the details with family name and version of the VHDX objects in the VMM database so it just selects one that seems to be right based on the inital request. wrong or right?

If it is by design, then I would say that it should show in the wizard and not as you see I get!

In the wizard and the HW tab it seemed like I had the right vhdx, and also when continuing to the next view and review stage of the provisioning phase, you can see that it said right library resource and also in the bottom with the file name it looked correct,

Screen Shot 2014-11-28 at 14.43.44

but when I investigated things a bit further and checked the whole path of the source it revealed the nasty _old.vhdx

Screen Shot 2014-11-28 at 14.45.00

And after I pressed “Browse” and selected the right VHDX and started the deploy everything worked as intended..

Screen Shot 2014-11-28 at 14.45.38

So what is the lesson here? Either clean up your old vhdx version in the VMM library or set the version and family name differently and that not only in the end of the filename 🙂

Happy WVMMeekend!

a not so normal CBS.log size of 57 GB on a Hyper-V host

I was working with a customer and updating their test environments VMM server with the new UR4 that have been released and noted that one of the cluster nodes was not working as intended.

Screen Shot 2014-11-17 at 10.56.32

The Event logs also told me that the cluster service disliked the lack of disk space,

Screen Shot 2014-11-17 at 12.29.06

And I could also see in the logs after running the powershell commands for updating the Agents on all hosts (right-click on multiple is not the optimal way 🙂 )

Screen Shot 2014-11-17 at 10.57.16

But this quite clearly showed that the server was not healthy and full on disk, but why? Well I had to find what was eating up my space like that. The server was a Bare-Metal deployed Windows 2012 R2 with all updates and of course running as a core because a Hyper-V server do not need the full GUI! Still it should not be larger than about 9GB on a disk that is 40GB!

Screen Shot 2014-11-17 at 10.54.47

I found the folder containing the bad boy, still no real clue why the CBS.log could grow beyond the wildest of sizes and it was cleverly  auto compacted and disk fotprint of about 29GB but still 57GB large. Read a blog post about the Windows Trusted Installer going bananas but in my case I could not stop the service to be able to delete the large file.

Screen Shot 2014-11-17 at 11.16.36

A reboot did the trick and rotated the CBS logs and now I could remove it,

Screen Shot 2014-11-17 at 11.28.04

My C: was now breathing again 😛

Screen Shot 2014-11-17 at 11.28.44

And after this I was able to update the VMM agent and the node joined the cluster as a happy member.. will keep my eyes on this server to see if it was just a one time problem with the CBS.log or if happens again….


Hot-add/remove Memory on a Hyper-V VM in Technical Preview

I have been evaluating the new version of Hyper-V in technical preview of Windows and the new hot-add/remove functionality is quite cool and it works with both memory and network cards.

As you can read on technet page here, for the memory it has to be a virtual machine with either Windows Server Tech Preview or Windows Tech Preview running as a Generation 2 VM.

I have as you can see a VM with 768 MB ram and no dynamic memory enabled.

Screen Shot 2014-11-11 at 21.01.16


And here you can see that I can change the running VM`s memory both up and down, for the Windows Tech Preview I could go so low as 340 MB…

Screen Shot 2014-11-11 at 21.18.32


the command is Set-VMMemory -VMName xxx -StartupBytes 1024MB but you can also change the memory assigned in the Hyper-V Manager GUI.

Screen Shot 2014-11-11 at 22.05.44

And if you already have allocated the memory inside the VM with a SQL or a Minecraft server or another application you cannot shrink the memory bellow that:

Screen Shot 2014-11-12 at 09.54.04

Using Azure Automation to check health of Minecraft server in Azure

As every responsible dad out there I have set up an Minecraft server to my daughter so she can play with her friends!

Screen Shot 2014-10-23 at 16.16.59

I  have deployed a Windows Server on Azure in which I installed the Minecraft server with the right mods, apparently that is important 😉 I have not myself got lost in the Minecraft world, maybe because I grew up in the 80´s and had games that was mega-pixel and now I want that high definition graphics!

To see that it is working and alive I wanted some kind health check so here Azure Automation comes into play! Of course there would have been easier ways but I want try new stuff and also test and see how Azure Automation works and can be utilized.

So I created a runbook that checks the status and try to remediate the issue if it is not working:

I have utilised the YAMS so that the Minecraft Server is handled by a Windows Service. If there is some outage or maintenance on Azure the VM can be restarted and then it is good to know that the Minecraft Server will start even if no user is logged in. If for some reason the YAMS service is stopped or the Minecraft Server has stopped my runbook can remidiate that!

In Azure Automation I can schedule a check every 1 hour:

Screen Shot 2014-10-23 at 16.25.24

And as you can see when checking a job it reports that my Minecraft server is working!

Screen Shot 2014-10-23 at 16.45.23

To connect to the VM´s powershell endpoint I have added SessionOption -SkipCACheck thus letting me connect without getting a cert from a trusted certificate authority or importing the servers cert. Saw this option on Tim´s blog post and borrowed it:-)

In the deployed VM I have also done as explained in the PowerShell Tip from to be able to connect to it as it is not part of a domain and when PowerShell remoting is enabled it uses Kerberos by default and the Minecraft server is standalone thus Kerberos not working!

Probably I will do some tweaking and update the script later but you can at least see the possibilities and power of using Azure automation!

Microsoft Teched Europe 2014 – Sessions to watch/attend


Next week Teched Europe kicks of and that will tons of great sessions! Sadly I can´t be there this year 🙁 but family comes first and the week after that I will be at the MVP Summit in Redmond!

But whats so great with the Microsoft conferences is that you can be part of whats happening even if you cannot make it onsite! Channel 9 will be live broadcasting and also all cool sessions will be uploaded!!

Here are some of the sessions that either if you will be in Barcelona or if you want to check out the recording later should watch/attend!!

As I am an Hyper-V MVP I of course have focus on virtualization, but as my friend and former colleague Fredrik Nilsson says: “attend a session on something you do not know” so here is my top 10 to watch out for!

Tuesday, October 28 1:30 PM – 2:45 PM Room: Hall 8.1 Room L
Speaker(s): Taylor Brown


Wednesday, October 29 12:00 PM – 1:15 PM Room: Hall 8.0 Room B1


Wednesday, October 29 10:15 AM – 11:30 AM Room: Hall 8.1 Room H


Wednesday, October 29 5:00 PM – 6:15 PM Room: Hall 8.1 Room L
Speaker(s): Ned Pyle


Wednesday, October 29 10:15 AM – 11:30 AM Room: Hall 8.0 Room A2
Speaker(s): Aidan Finn


Tuesday, October 28 5:00 PM – 6:15 PM Room: Hall 8.1 Room J
Speaker(s): Jeffrey Snover


Thursday, October 30 3:15 PM – 4:30 PM Room: Hall 8.0 Room C1
Speaker(s): Mark Russinovich


Tuesday, October 28 3:15 PM – 4:30 PM Room: Hall 8.1 Room L


Thursday, October 30 10:15 AM – 11:30 AM Room: Hall 8.0 Room D1


Wednesday, October 29 10:15 AM – 11:30 AM Room: Hall 8.0 Room B1
Speaker(s): Mahesh Narayanan


There are of course a ton of more sessions and I will probably do a revision once I have watched the recordings 🙂

And during the week follow TechEd in social media :


Live migrating VM´s between clusters in VMM 2012 R2

Today I have been doing some work at a customer creating a Hyper-V 2012 R2 Cluster and starting to live migrate VM´s from their Hyper-V 2012 Cluster.

Doing that from VMM gave me some errors and here is the solution so that if you happens to get into the same problem 🙂

First of all, when added the new cluster to VMM I tried to live migrate a VM but got this error (12700)

Screen Shot 2014-10-17 at 19.30.43

After a quick search on the net I found this blog post explaining the need to configure kerberos live migration and delegation between the hosts and also that the hosts needs an “Host Management Credentials” account set up in the properties! I had already set up the hosts to use Kerberos and delegation between and still got the above error but when checking the Run As account it was empty:

Screen Shot 2014-10-17 at 15.53.45

The problem as you can see though, it is greyed out and cannot be altered, I tried to do add an account through PowerShell and there I got an answer that it had to be set on the cluster,

Screen Shot 2014-10-17 at 21.37.08

checking on the cluster properties in the VMM console there is nowhere to add or see the management credential

Screen Shot 2014-10-17 at 21.32.37

So back to PowerShell again:


Screen Shot 2014-10-17 at 21.54.19

And when this is set all the cluster hosts have this credential set and then when doing a Live Migration it succeeded 🙂