Jeremy Taylor



You have a vmdk file for Vmware and want to convert it to a Hyper-V compatible hard disk file such as vhd.



Download Microsoft Virtual Machine Converter Solution Accelerator (4.3MB)

It works on Windows 7, Windows Server 2008 R2, Windows Server 2012

Once installed, run the following:

In a command prompt window, go to the path to MVDC.exe (32bit is usually installed here by default – C:\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator).

MDVC.exe ‘path to vmdk file’ ‘path to vhd file’


cd '.\Program Files (x86)\Microsoft Virtual Machine Converter Solution Accelerator'
.\MVDC.exe 'D:\Temp\SERVER123.vmdk' 'D:\Temp\SERVER123.vhd'

Once your file is a vhd, you can easily import it into Microsoft Hyper-V and convert it to a vhdx.


  • If you want to convert several machines at once, then look at the Migration Automation Toolkit.

The Migration Automation Toolkit is a collection of PowerShell scripts that will automate conversions using MVMC and it is back ended by a SQL instance (SQL Express will work). You can use it to convert several machines at once, on a single server – or scale it out and execute conversions on many servers at the same time.

I was faced with a situation where I had 17,020 users that synced up into Office 365 but my Office 365 license was like about 5…

So one of the quickest paths I took was to fire up PowerShell and remove all users that did not have a license.

These are the steps I took to get the job done:



Type in your Office 365 Global Admin credentials:


Get-MsolUser -all | Where-Object {$_.isLicensed -ne "true"} | Remove-MsolUser -Force


Anyway, curious to see the rate it deleted the users, I thought of monitoring the process by opening another PowerShell window and ran this:


Type in your Office 365 Global Admin credentials

Get-MsolUser -All | measure


Turns out the above command took three minutes to run (around 15,600 users) and deleted approximately 36 users per minute. The above command, will progressively run faster as the user count goes down.

Once I’m done, I’ll be configuring up the DirSync version of Forefront Identity Manager 2010 R2 (FIM) to selectively sync a few of the choicest users in my AD infrastructure.


Good news for all the on-premises SharePoint Infrastructure Admins and Developers. An improved ULS Log viewer for SharePoint 2013 has been released a few days ago. I was concerned for a couple of years that there wasn’t any movement on updating my number 1 favourite SharePoint tool. However, I did see a video where Bill Baer there was a hint of how bad the tool was and they’d do something about the tool.. so here it is – a new ULS Log Viewer……

Download it here:

Some new features:

1. Monitor multiple servers simultaneously


2. Locate specific log entries via command line

3. Highlight and personalise the output if a filter match occurs

Some fixes I have noticed:

1. More stability when working with the filters

2. Multiple fixes such as filtering on pause state


Can we use it for SharePoint 2010?

Yes! It works well for SharePoint 2010. However, you would need to ensure that .NET 4.5.1 is installed on the server you run ULS Viewer on. With SharePoint 2010, .NET 3.5 is used and you might not find .NET 4.5.1 on your SharePoint 2010 servers.

Download Microsoft .NET Framework 4.5.1 (Offline Installer) here:

I have tested it successfully on Windows Server 2012, Windows Server 2012 R2 and Windows Server 2008 R2.

Previously known as SkyDrive Pro, now more appropriately named OneDrive for Business, builds on a solid foundation of years of sync technology.

In terms of functionality, I am quite impressed with the OneDrive for Business functionality. It keeps getting better with each new release.

I use my OneDrive for business syncing various SharePoint Document Libraries with multiple organisations in different folders on my laptop…quite handy for people on the move.

Download OneDrive for Business standalone sync client for SharePoint 2013 and SharePoint Online.

Click here to download OneDrive for Business:

Use the license key:
When I set up my OneDrive for Business, I normally choose to use the license key rather than using my O365 login to install the app. Here is the license key: 3V9N8-W93CC-FQPB8-Y9WVF-TVGJ3


There are some limits on syncing OneDrive for Business and site libraries, according to the OneDrive for Business help:

Note the following limitations related to syncing OneDrive for Business and other site libraries to your computer:

  • You can sync up to 20,000 items in your OneDrive for Business library, including folders and files.
  • You can sync up to 5,000 items in site libraries, including folders and files.
  • In any library, you can download files up to 2 GB.

OneDrive for Business is Gold:
It’s nice to see good ol’ Groove Networks still carrying on behind the scenes and Microsoft building upon a solid foundation of sync software, positively looking at it. 🙂

Personally, I have been very impressed by Groove since it was released! Groove was brilliant and way ahead of others at that time.

Take a look under the bonnet:


Love it!


Groove Logo:



Well, One Drive for Business certainly is not a new kid on the block. I suggest you give it a try if you haven’t in its newest incarnation!

When configuring Site Mailboxes in SharePoint 2013 on-premises, you may be presented with a few errors such as:

‘Your SharePoint Server configuration is not supported’

Your Organization’ SharePoint Server configuration is not supported. Please contact your system administrator for more information.

Site Mailboxes finally work:


Another error that is displayed is:

Sorry, something went wrong

An unexpected error has occurred.


To troubleshoot these errors, open your favourite ULS Log viewer and look up the Correlation ID.

With Site Mailboxes, there are specific ‘error codes’ or ‘error keywords’ that will be found in the ULS logs.

Here is a table that I found useful when troubleshooting SiteMailbox configuration issues:


Please review the following table if you encounter issues.

Table of error codes for reference when you run a configuration checklist script

Error Code Error Notes
0 NoError Review Prerequisites.
1 ExchangeClientNotAvailable EWS client was not found on the SharePoint WFE. Run the Check script and ensure the entries are properly in the GAC; you may need to reinstall the EWS client.
2 UnsupportedVersion EWS client version is incompatible with SharePoint. Run the Check script to ensure the version meets minimum requirements. Alternatively, the Exchange server may be 2010 or earlier.
3 InvalidUser The TeamMailboxDomain parameter is not a valid FQDN or SMTP address.
4 UnauthorizedUser The script received a 401 from the Exchange Server, review the Exchange setup steps.
5 ServerBusy Exchange timed out during AutoDiscovery. It should be intermittent, please retry, but if it is persistent, follow-up with the Exchange Administrator.
6 URLNotAvailable AutoDiscovery failed to return a URL for ECP/OWA, which means typically that the EWS client version is incompatible with SharePoint. It may also mean Site Mailboxes are not enabled on Exchange, which would require follow-up with the Exchange Administrator.
7 OAuthNotSupported Unsuccessful in generating an OAuth token on behalf of SharePoint. This is typically caused by claims-based authentication being disabled on the SharePoint web application.
8 OAuthException An error occurred during the OAuth handshake between SharePoint and Exchange. This is typically caused by server to server configuration issues, such as a realm value mismatch on either side, certificate issues for Exchange or SharePoint, etc. Review certificates and attempt to establish or reestablish trust.
9 InvalidAutodiscoverDomain The AutoDiscover domain property is not set to a valid FQDN.
10 UnknownError An unknown error condition has occurred. Run the Check script and confirm that a valid, trusted instance of SharePoint is available, review prerequisites, confirm AutoDiscover has been set-up properly with the Exchange Administrator.
101 OAuthNotSupportedOverHttp If this error is thrown, your web application’s default zone is not set to SSL, and AllowOauthoverHttp is also set to false. Run the Check script to ensure that any web application you intend to host site mailboxes are set with SSL in the default zone, as outlined in the prerequisites.
102 AssociatedOwnersGroupNull One or both of the default Owners and Members groups for the site have been deleted. Each of these two default groups are required to exist on any site where users install site mailboxes. A site administrator should be able to direct a site owner to recreated these required groups.
103 ExchangeTeamMailboxDomainNotSet The ExchangeTeamMailboxDomain property has not been set.
104 ExchangeAppPrincipalNotFound No Exchange app principals were found to be trusted. Typically, this means the New-SPTrustedSecureTokenService step was missed. Run the Check script and ensure that the app principal URL(s) outputted are the correct one(s).
105 ExchangeAppPrincipalMissingPermissions The Exchange app principal being connected to doesn’t have the right permissions on the SharePoint farm. Run the Check script and ensure that the Exchange app principal has the required permissions on the farm.

From <>

In my case, I had an Error 104 – ExchangeAppPrincipalNotFound.

No Exchange app principals were found to be trusted. Typically, this means the New-SPTrustedSecureTokenService step was missed. Run the Check script and ensure that the app principal URL(s) outputted are the correct one(s).

I rechecked my OAuth trust settings with Exchange 2013 and I had an issue with the Enterprise partner configuration.


Cumulative updates, service packs and hotfixes should be an important part of any on-premises SharePoint Admin’s life. They not only fix up a lot of bugs in the product but also contain important security fixes!

So the advice is to apply service packs when they arrive, well I suggest waiting it out a few weeks and look up the known issues before you apply it in your PROD environment. You should always apply any updates to a non-production environment first with similar content and code to simulate the same process in PROD.

While Cumulative Updates are to be applied specifically when you have an issue fixed by it, I recommend you keep a close eye on the security fixes that come with Cumulative Updates and then decide accordingly.

Again, don’t rush to apply a Cumulative Update just for the sake of it. Many Cumulative Updates have had serious issues in the past and there’s no easy rollback!

So how do you keep up with whats the latest Cumulative updates, Service packs and hotfixes for SharePoint & SQL?

No need to google any more if you bookmark these “Update Centers” from Microsoft. They provide an easy way to look at whats the current version of Service Pack and Cumulative Update and hotfixes for SharePoint, SQL and related products.

Update center for Office, Office servers, and related products
This includes SharePoint Server, Office Web Apps and Project Server

(This Update Center has an RSS Feed too, so you can subscribe to it).


Update Center for Microsoft SQL Server


Updates for App Fabric 1.1
There is no “Update Center for AppFabric”. I recommend a search in the Microsoft Support site for “Cumulative Update Microsoft AppFabric 1.1”




Update 14/04/2014: Here’s another one for the record.. A few days ago it was discovered that SharePoint 2013 SP1 had a bug and Microsoft has removed it from their website with a notice:

We have recently uncovered an issue with this Service Pack 1 package that may prevent customers who have Service Pack 1 from deploying future public or cumulative updates. As a precautionary measure, we have deactivated the download page until a new package is published.

If you happened to see my older post with links to the Service Pack 1 download, you would get a “We are sorry, the page you requested cannot be found” message when you access the SharePoint 2013 SP 1 page.

Well, its happened before when service packs and updates have been pulled back because of some serious issues. But after all these years, nothings changed. Maybe a hint to go SharePoint Online – you wont have these issues maybe? 🙂

Anyway, for On-premises deployments, I always recommend you wait for known issues, usually a month or so to know of any bugs and then make a decision on testing it out in your non-production environment first.

SharePoint 2013 SP1 is a fine example of what can happen to stuff that gets sent out by the testing team at Microsoft. This time, it was just 1 month of them releasing SharePoint 2013 SP1 when the bug was discovered, so may be waiting for longer like 2 or 3 months before you install any new piece of software on your farms would be advisable if you value your time and aim for a stable environment.

Here is something I use when I want to perform an IISRESETacross an entire SharePoint farm. Its useful if you have a large SharePoint farm.
Oh – yea, this will take down your farm while the IISRESET is restarting the services, so its best to test this on a non production environment first. Ensure you have an outage/agreed maintenance window to perform this task on a production farm.

All you got to do is spin up PowerShell on any SharePoint server in the farm and run this:

Write-Host -ForegroundColor Blue "IIS will  be reset across the entire farm"
Add-PSSnapin Microsoft.SharePoint.PowerShell -erroraction SilentlyContinue
[array]$servers= Get-SPServer | ? {$_.Role -eq "Application"}
foreach ($server in $servers)
     Write-Host -ForegroundColor Yellow "Attempting to reset IIS for $server"
        iisreset $server /noforce "\\"$_.Address
        iisreset $server /status "\\"$_.Address
        Write-Host -ForegroundColor Green "IIS has been reset for $server"
Write-Host -ForegroundColor Green "IIS has been reset across the SharePoint Farm"
Start-Sleep -Seconds 5