FitBit App for Windows Phone 8.1

It seems that great things always happens to the Windows Phone platform when I’m on holiday so I miss the early adopter crew which is perhaps a sign I need to take more holidays.

I’ve been using FitBit for nearly a year now and I’ve been happy but today I got happier. I today learnt that the official Windows Phone app for FitBit was released last week for Windows Phone 8.1 and when used on a Nokia Lumia device running the Lumia Cyan firmware update allows you to sync the FitBit Flex device. This is obviously not new as it’s something that Android and iOS users have been doing since the inception of FitBit but for us fellow Windows Phone users, we have been tied and limited to using the FitBit Connect service for Windows PC. It was only for the work of a fellow Windows Phone community user that we’ve had any application at all which has been great to have but it just sadly lacked the ability to sync with the phone.

FitBit App Dashboard  FitBit App Steps
FitBit App Friends  FitBit App Flex Settings

The new official FitBit app for Windows Phone has everything you need to use FitBit Flex or Force devices without being tied to a PC for the ability to access your data, sync or manage your device. The dashboard home screen as shown above includes all of your steps, distance travelled, active minutes and calories. We had this available to us previously in the community app but what is new is that we can now click the steps or distance bars and we get graphs to show the activity history.

I use FitBit Aria wireless scales to weigh myself so my weight is shown and tracked also on the dashboard but I’m not going to give you anything to laugh at by sharing that graph. Swipe right and the friends list shows you the steps ranking for you and your friends which we had before in the community app too. What is totally new for us is the management of the Flex or Force FitBit devices. As you can see in the last screenshot, I can configure my Flex Silent Alarms, my goals, which wrist I wear the Flex on and I can sync it too to get the new alarms and goals down to the device.

FitBit Flex Bluetooth Paired

When I first used the app, I noticed that it wasn’t pulling anything from my Flex. Reading the FAQs on the FitBit website, it says that you need to do nothing to manage the connection to the Flex other than having your Bluetooth turned on, on the device however it just wasn’t working. I decided to head into the Bluetooth Settings menu and pair the Flex anyway and it started working. Turns out for me that the reason for this was that my phone had seen my wife’s Flex first and paired with that, so I closed the app, deleted the pairing for her Flex and paired with my own then the app started to sync properly, happy days.

What I will be interested to see over the coming days and weeks is how the constant chatter between my phone and my FitBit Flex device will effect battery life for them both, whether I’m going to see the phone draining at a faster rate or whether the Bluetooth 4.0 LE connection really is as low energy as it claims to be.

Automatic Virtual Machine Activation with Windows Server 2012 R2

Previously, I have posted articles on updates released for KMS host to allow you to volume activate Windows 8.1 and Windows Server 2012 R2 and Windows 8 and Windows Server 2012. These have been two of my most popular posts so volume licensing and activation is clearly something people need and want to know about.

To help celebrate Valentines Day, I thought I would share some more licensing love with you all and introduce a new feature in Windows Server 2012 R2 called Automatic Virtual Machine Activation (AVMA). This new feature allows customers using Windows Server 2012 R2 Hyper-V virtualization and Windows Server 2012 R2 guest operating systems running as Hyper-V virtual machines to activate their guest operating systems not with a KMS host as normal but instead, by using the Hypervisor.

In essence, your Hyper-V server becomes your KMS host for your virtual machines. This allows you to keep, track and record all of your virtual machine licensing in your virtual environment. This is also great for hosters or companies running internal private clouds where you may have an infrastructure network consisting of an Active Directory Domain Services domain and KMS host for your servers but not for your customer servers, virtual guests on the Hyper-V servers which have no access to your hosting infrastructure.

The requirements for AVMA to work are as follows:

  • Windows Server 2012 R2 Server with the Hyper-V role installed
  • Windows Server Datacenter license applied to the Hyper-V host (either by a network KMS host or a MAK key)
  • Windows Server 2012 R2 guest operating system
  • Data Exchange Integration Service is enabled for the virtual guest

License the Hyper-V Host Server

If your environment is licensed using a Windows KMS host, you can enter the command cscript slmgr.vbs -ipk W3GGN-FT8W3-Y4M27-J84CP-Q3VJ9 to install the Windows Server 2012 R2 Datacenter KMS client key on the Hyper-V host. If you are using MAK keys for single activations then use the command cscript slmgr.vbs -ipk XXXXX-XXXXX-XXXXX-XXXXX-XXXXX and replace the X’s with your MAK key for Windows Server 2012 R2 Datacenter. If you use KMS licensing, please bear in mind that this KMS activation needs to be renewed quite frequently so the KMS host needs to remain on the network and online.

To verify the license status of the Hyper-V host server, you can use the command cscript slmgr.vbs -dlv to display the current license type and the activation status.

License the Virtual Guest Server

Manual Virtual Guest Activation

Once your host server is activated, you can start doing guest activations from the Hyper-V host server. To do this manually, enter the command cscript slmgr.vbs -ipk YYYYY-YYYYY-YYYYY-YYYYY-YYYYY and replace the Y’s with one of the follows AVMA client keys according to your guest operating system edition.

Windows Server 2012 R2 Datacenter Y4TGP-NPTV9-HTC2H-7MGQ3-DV4TV
Windows Server 2012 R2 Standard DBGBW-NPF86-BJVTX-K3WKJ-MTB6V
Windows Server 2012 R2 Essentials K2XGM-NMBT3-2R6Q8-WF2FK-P36R2

Once this is done, entering the command cscript slmgr.vbs -dlv will show you that the description for the licensing activation is Windows(R) Operating System, VIRTUAL_MACHINE_ACTIVATION and the Hyper-V hostname which performed the activation for the guest will be displayed further down the output.

Automated New Virtual Guest Activation

If you are in a new build greenfield environment then you can use the AVMA client keys shown above as part of your operating system build and deployment process. You can do this in a number of way such as manually as part of a GUI driven Windows Server 2012 R2 installation, via an unattend.xml file incorporated on your installation media be it manual, via Windows Deployment Services (WDS), System Center Configuration Manager (SCCM) Operating System Deployment or using the AVMA client key on a sysprep virtual machine template. If you are maximizing your investment in Hyper-V and Windows Server, you can use this license key in your System Center Virtual Machine Manager (SCVMM) VM Templates and Guest OS Profiles.

Automated Existing Virtual Guest Activation

If you’ve got existing virtual machines running Windows Server 2012 R2 that you want to move from KMS or MAK to AVMA licensing but you don’t want to do it manually either because you have too many systems to touch or because you want it done in a consistent and automated fashion then my colleague Craig Taylor has written a post on how he used the Windows Task Scheduler to deliver a single run task onto all of the virtual machines in a VMM managed environment to update the key and activate the machines. You can read Craig’s post over on his blog at Remote activation of Windows Server Licensing via PowerShell (sort of).

Unknown VMBUS Devices in Device Manager

If you deploy AVMA licensing into your environment, you may want to have a look at this post by Aidan Finn who has come across an issue whereby Unknown Device (VMBUS) appears in the Device Manager for some Windows Server 2012 R2 machines. There’s nothing to worry about as this is a byproduct of the AVMA process but something you will probably want to be aware of. His post is at KB2925727 – Unknown Device (VMBUS) In Device Manager In Virtual Machine For WS2012 R2 AVMA.

Repairing the DirectAccess Group Policy WMI Filters

When you configure your first DirectAccess server in an Active Directory domain, the wizard will automatically create for you two Group Policy Objects. One of these policies applies to the DirectAccess servers and the other to the DirectAccess clients. I’m in the process of setting this up on my Windows Server 2012 R2 Essentials server so my server is latest and greatest as far as operating system version goes and even to date, it appears that the WMI Filter created for the Group Policy Object has not been updated.

Here is the WMI Filter in it’s default state:

SELECT * FROM Win32_ComputerSystem WHERE PCSystemType = 2
SELECT * FROM Win32_OperatingSystem WHERE (ProductType = 3) OR (Version LIKE ‘6.2%’ AND (OperatingSystemSKU = 4 OR OperatingSystemSKU = 27 OR OperatingSystemSKU = 72 OR OperatingSystemSKU = 84)) OR (Version LIKE ‘6.1%’ AND (OperatingSystemSKU = 4 OR OperatingSystemSKU = 27 OR OperatingSystemSKU = 70 OR OperatingSystemSKU = 1 OR OperatingSystemSKU = 28 OR OperatingSystemSKU = 71))

As you can see, that’s a pretty long filter, one which is going to take some time to enumerate on a client. Secondly, the filter only calls out Version 6.1 and 6.2 which like a previous post I wrote about the problems with the WMI Filter in the Windows Server 2012 Essentials Client GPO WMI Filter, it excludes Windows 8.1 (Version 6.3).

These aren’t the only problems though. ProductType = 3 means server (per MSDN WMI Win32_OperatingSystem guidance at which means that the policy will never apply to a client machine as intended. The OperatingSystemSKU filter section means that this policy is valid for all sorts of crazy product SKUs that we just aren’t interested in (a full list of SKUs can be found at

I’ve modified this query down so that it will apply to Windows 7 and upwards instead of explicit versions and also simplified it so that it only applies to the SKUs that we might actually be interested in.

Simply clear out the current filter and replace it with the following:

SELECT * FROM Win32_ComputerSystem WHERE PCSystemType = “2”
SELECT * FROM Win32_OperatingSystem WHERE (ProductType = “1” AND Version >= “6.1%”) AND (OperatingSystemSKU = “4” OR OperatingSystemSKU = “27”)

Now, the policy will apply to computers of class PCSystemType 2 which defines a mobile computer, ProductType 1 which defines a workstation device, Version 6.1 or higher covering Windows 7 and onwards and lastly, defines OperatingSystemSKU as 4 or 27 which singles out Enterprise and Enterprise N editions of Windows client operating systems.

Windows Server 2012 Essentials PPP RAS Adapter Registration in DNS

Today, I was looking at an issue where one of my clients at home was reporting that the server was unavailable yet other clients were working perfectly fine. The client in question was a Surface Pro tablet running Windows 8.1. This issue turned out to be the Routing and Remote Access PPP RAS Adapter registering in my Windows Server 2012 Essentials domains’ DNS in addition to my local network adapter. Here’s how to spot the issue and to resolve it.

My server is named BGWSE1 and lives on a static IP Address of in a /24 subnet.

On the client I pinged the server by IP address to verify that it was indeed online and was able to be returned by the client which it was. I then tried to ping the server by name which returned a response also, but it wasn’t on the first pass that I noticed that the IP Address was different. The IP Address returned was Strange I thought to myself as this is an IP Address inside my DHCP scope which I run on the server using the start address of and an end address of

I logged on to the server and looked in the DNS Management Console and sure enough, there was a second DNS A record registered for the server with the IP Address of but where had this come from as the timestamp on the record was static and not a date and time stamp as seen on most records. I deleted the record as I knew I didn’t want it there and I refreshed the console and no sooner as I had refreshed the console, the record re-appeared.

Running ipconfig from the server, I saw a second network adapter for the PPP RAS connection with, you guessed it, as it’s IP Address.

I Bing search later and the problem now appears to be resolved thanks to a Microsoft Support KB Article which dated back to Windows Server 2003 entitled Name resolution and connectivity issues on a Routing and Remote Access Server that also runs DNS or WINS ( I have only actually followed step one which is to add the record to the DNS service parameters to instruct the DNS service to only publish a given IP Address for the server. I’ve restarted the DNS and Routing and Remote Access services multiple times since making the change and the secondary DNS A record for my server BGWSE1 has not re-appeared.


Configuring the Windows Azure Alerts Preview Feature

As part of the project I’ve been working on for the last six months to deliver a new public website (hint using Windows Azure we needed to be able to monitor the site performance and alert on warning and critical thresholds for certain counters. At the start of the project, our intention was to use SCOM (System Center Operations Manager) as the cleanest way to get data out of Windows Azure but by the time we went live two weeks’ ago, Microsoft had made available the Windows Azure Alerts feature preview.

Under normal circumstances, SCOM would’ve been a no brainer decision for us as our operational teams use and rely on SCOM already so they are familiar and comfortable using it however with the website, we had a challenge – the third-party.

Setting up SCOM 2007 R2 to monitor Windows Azure sounds really complicated when you read the TechNet article for it at however it’s actually pretty simple, something which I’ll cover in a later post on the subject, however as I mentioned, our project involved a third-party development partner who needed to receive the alerts also once we went live. In SCOM, you configure this using an SMTP Subscription to email the alerts raised by the management pack to those who need it, but this would result in our Exchange platform joining the critical path for the monitoring of the website, something which I didn’t want ideally as the architect for the project. Imagine the conversation explaining how you missed a website outage or performance degradation because Exchange was down 😮

Fortunately for me, Microsoft came up trumps with the Windows Azure Alerts preview feature just weeks before I was about to go live with the SCOM management pack configuration for production although I had already configured it for our staging environment by this point.

Windows Azure Alerts allows you to configure SCOM like thresholds and evaluation periods for usage counters and metrics from your Azure services and in turn, generate email alerts for them. This has allowed me to remove Exchange from our critical path for website monitoring because the email alerts are generated directly at source in Windows Azure.

To get started with Windows Azure Alerts, firstly, open your Cloud Service, Web Site, SQL Azure Database or whatever you’d like to monitor in the Windows Azure Management Portal. Once open, select the Monitor tab from the Windows Azure Dashboard.

Azure Cloud Service Monitor

Once you’re on the Monitor tab, select the monitor that you would like to generate alerts for. If the monitor you want to use is not listed then you need to update, amend or possibly even start the configuration of diagnostics. Look at the MSDN page, Collect Logging Data by Using Windows Azure Diagnostics to get started.

Azure Cloud Service Add Rule

With the monitor highlighted, the contextual bottom navigation now shows an option Add Rule. Click this to open the rule definition wizard.

Azure Alert Define Rule

In this rule, I’m configuring monitoring for high CPU utilization on a Cloud Service. Give the rule a name and a description. These are included in the email alert you are sent in the event that the rule is triggered so make sure that it’s something you or people receiving the alert can relate to. Once entered, click the arrow to go to page two.

Azure Alert Define Conditions

On page two as shown above, you configure the conditions for the rule. In the case of CPU usage, I’m going to monitor on CPU usage over 80%. Rules are evaluated over a time period before they breach. This is ideal for CPU and memory counters as it means that you won’t be alerted for momentary peaks in demand due to activity occurring in the service but will be alerted for sustained period of high draw. Here, I am setting the evaluation period to the default option of five minutes.

Under the sub-heading Actions, you define whether a single email address (which could be a distribution list) or all of your Azure administrators and co-administrators receive the email alert from the rule. As we have a number of people such as project deployment engineers and developers accessing Azure and the only people who need to receive the alerts are the operational teams, I elected to enter an email address for a distribution list and not all of the subscription administrators and co-administrators.

The last option is the tick box to enable the rule which is checked by default. Click the success tick button to complete the two step wizard and the rule will be created.

Azure Management Services View Alerts

Switching context to the Management Services pane in Azure allows you to see a list of all of the alerts configured for the subscription be they for Web Sites, Cloud Services, SQL Azure Databases or more. Here, I only have one configured but in our production subscription we currently have 10.

There is currently an imposed limit of 10 alert rules per subscription while the feature is in preview. I’ve been meaning to call Microsoft Azure PSS (Premier Support Services) for a week now to see if we can get this limit raised as we would like to create a few additional rules but I haven’t got round to it yet. If I manage to do this, I’ll be sure to let you all know.

So there you have it. How to create email alerts for performance thresholds as you would do with SCOM, directly in Windows Azure removing the need to configure an extra management pack in your SCOM environment and removing critical path dependencies from your internal systems to receive alerts for Windows Azure services. I’m looking forward to this feature coming out of preview and into production service hopefully with a few extra bells and whistles.

Windows Server 2012 Deduplication Real World

Recently, in my post entitled Storage Spaces You’re My Favourite, I promised to show the world some real life data on how much you can actually save in storage consumption with Windows Server 2012 deduplication, and here it is.

Real-World Deduplication Savings

This screenshot was taken from a production file server cluster running Windows Server 2012 using SAN attached fibre storage. As you can see from the image, I’ve obscuficated the names of the drives and shares but left the good stuff visible, the savings.

The data is broken across a number of volumes, some of switch aren’t doing deduplication (the cluster Quorum or the DFS Namespace for example) but those that are, are showcasing some impressive numbers. Data is broken across a number of volumes because we had to keep it this way to maintain a few legacy elements and also to keep some of the more confidential data structures separate in the event of someone getting a bit too liberal with the ACLs on the more generic volumes.

As you can see from the screenshot though, on our main storage volume, the E: drive, we are currently saving 1.44TB which is 41% of the total storage of that volume, 48% on one of the smaller volumes and 69% on another. All of these savings added together means that are net savings are 1.96TB compared with the previous Windows Server 2003 based file server solution. We aren’t storing less data, we aren’t telling users to change how they store or compress their data or making any changes to the way anybody does their job. All of this is being achieved just by enabling a feature in Windows Server 2012, a feature that is available in Standard edition may I hasten to add.

If I was a financially oriented man, I’d probably want to know what this actually means in monetary terms? On a previous project, we calculated that roughly speaking, our internal storage costs are in the region of £2.50 per gigabyte per annum. This £2.50 bakes in the cost of our underlying storage array hardware, supporting fibre channel network and the cost of disks and all. Based on this £2.50 per gigabyte, the deduplication feature in Windows Server 2012 is therefore saving us around £5,000 a year.

Looking back then, it’s clear to see that deduplication in Windows Server 2012 really does work not only on a feature level but also on a financial level. For us as an enterprise to move to Windows Server 2012 for our file server solution cost us nothing aside from some time because we are permitted to upgrade from Windows Server 2003 to Windows Server 2012 under our SA (Software Assurance) rights from our EA (Enterprise Agreement) but in return, it’s going to save us £5,000 a year in storage costs.

If it wasn’t due to the fact that we keep some of this data logically separated in different volumes then we probably could see an uplift on these savings. With deduplication, less is more and by this I mean volumes. The less volumes you have, the more you will save. This is because deduplication is done at a volume level. Minimising the number of volumes you have and consolidating your data into larger volumes will increase the return from deduplication.

Update for Windows 7 SP1 to Cleanup WinSXS

I was surprised that I missed this release initially so I’m a few days off the pulse with this post but Microsoft have released an update for Windows 7 SP1 and it’s a good one.

This update gives you new options for cleaning up the WinSXS repository using the Disk Cleanup tool, allowing you to reduce the footprint of your Windows installation. As time goes by after installing Windows Updates which are released to address security flaws or provide stability and reliability improvements, this folder grows. This is because this folder stores previous versions of updated files to allow you to roll back.

With Windows 7 SP1, we had the DISM command for removing the Pre-SP1 WinSXS repository files which for some people, depending on updates you had installed could save gigabytes of disk, so this update to clean up Post-SP1 updates is really welcome.

There are some options for managing the usage of this clean up as an administrator for enterprise desktops however the process is a little clunky due to the fact that it is dependant on some registry and manual command line actions, but its nothing that can’t be achieved with the deployment of a Group Policy Object with a machine start up script.

Happy Cleaning.

My Windows Phone Start Screen

Earlier today, Paul Thurrott (@thurrott) tweeted a picture of his Windows Phone Start Screen ( As I like to share, I thought I’d show off mine too.

My Windows Phone Start Screen Top

So here’s the top half of my screen. In the top left corner, we’ve got my tiles associated with calling: Phone and Lync. Our company isn’t yet using Lync externally but we should be sometime soon so I wanted to get the icon in early. On the right side, I’ve got the People hub. Strangely, as I took the screenshot, Paul managed to work his way into the picture.

Back over on the left, I’ve got Rowi. I paid for the full version of the app because frankly, it’s worth supporting the guys at Hidden Pineapple because the app is great. To the right of this, I’ve got my SMS/MMS message box and my Linked Mailbox tile for my personal domain account and my work account. I love linked mailboxes as it means I see all of my mail and manage all my unread and flagged items from one view. Rowi and People Hub earn themselves large tiles as they have notifications and animations which deserve the size.

On the row below this, I’ve got four of my most used apps on the phone. These only deserve small tiles as they don’t give anything useful in terms of tile feedback and notification. From left to right, we’ve got Facebook, eBay, YouTube and the Music Hub. The new YouTube app is brilliant and so much better than the mobile site redirect which is what the old version amounted to.

One of the first things that I think is striking about my screen is how the People Hub and Rowi tiles are offset. This was my way of stopping the screen looking too uniform; a little bit of structured chaos.

The row below has my calendar exclusively. My calendar is heavily used with meetings for work and personal events such as kids lessons, appointments and birthdays, so I like to have this large as it means I get the subject and location of the meeting on the tile to save me having to crack into the full calendar app. It’s important for me to have the calendar here also as it means that I don’t have to scroll to see it; it’s there all the time on the first view of the start screen.

My Windows Phone Start Screen Bottom

Here we have the bottom half of my screen. I’m a simple to please person, with not too many apps installed on my phone and as such my start screen is pretty short – So much that you can see the top half of the screen on the bottom half.

At the top of the bottom (like that makes sense) we have the Internet Explorer tile on the left as a large tile. I use the mobile browser lots so I like to have the icon large to make it easy to just smash at anywhere on the screen. To the right of the IE tile, I’ve got four small tiles in a block. These are lesser used but still often enough to warrant a spot on the screen. In order, we’ve got the Unit Converter, OneNote, MediaHub and IMDB.

Unit Converter is simple yet effective. OneNote speaks for itself. I use SkyDrive to store all my notes so that they are available across all my devices. MediaHub is a great little app that I’ll leave you to discover for yourself and finally IMDB speaks for itself – I’m a bit of a film lover but I’m not very good at recognising actors and actresses so I like to be able to easily look them up to see what other films they’ve been in.

Photos is last on my screen and gets a full tile. I’ve got quite a lot of pictures of the kids on the phone so I like to see them from time to time.

The Problem with Storage Spaces

As you may well have gathered from a number of my previous posts about Windows Server 2012 and Storage Pools, I was intending on using them for my home server rebuild, and I am indeed using them, however I have neglected to post anything showing the new server (although I will change that shortly).

I ran into a problem with Storage Pools today which I think quite frankly blows. I got myself a new Western Digital 3TB Red drive to try out. The plan is to replace all of my existing six 2TB Western Digital Green drives with these for a number of reasons including greater bang for buck on power consumption, increased IOPS, cooler running temperature and improved reliability.

Not wanting to keep a mixture of Green and Red drives for very long, I proceeded to remove one of the drives from the pool to replace with a Red drive. The Storage Pool refused to remove it as a Simple non-redundant Storage Space was being hosted on this drive.

Problem 1:  Storage Spaces cannot be converted between Simple, Mirror or Parity. Once they are created, they are created. My only option for this was to create a new temporary Space marked as Mirror and copy the data from the Simple so that I could delete it. Once deleted, I tried a second attempt to remove the drive and I got an error that I needed to add another drive to the pool as there was insufficient capacity.

I’m sorry, what?

Problem 2: I have six 2TB drives in an uber-pool. I am currently less than half of it, so removing the drive should be no problem. I tried this a few more times and each time I got the same error that I would need to add more capacity to the pool before I would be able to remove the drive, which I know to be cobblers.

In the end, I just pulled the disk from the server and let the Storage Pool have a cry about the missing disk. From here, I marked the disk for removal to allow Windows to think that the disk was failed and that it was never coming back. This worked although is time consuming as it forces all Mirror and Parity virtual disks to enter a repairing state, copying blocks to remaining disks in the pool to keep up the protection level.

This brings me softly onto another point which is more of a beef.

Beef 1: One of the tricks of Windows Server 2012 was deduplication. Anyone familiar with Windows Server 2012 will know that Storage Pools and deduplication do work together, but in Essentials, deduplication is absent, missing, not there. The feature is completely missing from any of the Server Manager interfaces and from PowerShell, the command Get-Command -Module Dedup* returns nothing.

Why is it missing from Essentials? Essentials is the release of Windows Server 2012 targeted at SMB/SME and pro-home customers, the customers most likely to be storing a lot of data on a tight budget, so why strip out the feature that they will probably be highly interested in, in Windows Server 2012.

I really hope that Microsoft get enough complaints from customers of Essentials to release a Feature Update to re-add the support for deduplication.

With this done,

Sky Player for Windows Media Center

It’s been visible for sometime, however today is the first day that the Sky Player functionality in Windows Media Center works. I’ve never used Sky Player online before so I had a bit of work getting my account setup and the rights to access our subscribed channels but after about 15-30mins I had it all working.

The UI is clean and mostly in-line with the style of Windows Media Center. Some elements such as the TV Guide I felt where not sympathetic to the Media Center UI and should be updated to give a better feel of integration.

Read more…