Author's details

Date registered: August 10, 2009

Latest posts

  1. Updating Windows 7 SP1 with the Convenience Rollup and having Windows and Microsoft Update actually still work after — September 1, 2016
  2. Debian 8.3 on Hyper-V (the recommended way) — March 21, 2016
  3. Windows 10 upgrades and the taskbar — November 17, 2015
  4. Windows 10 VDI configuration script published — October 16, 2015
  5. PowerShell Profile — September 26, 2015

Most commented posts

  1. MDT 2010 and deployment from a USB key — 89 comments
  2. Adding additional boot options to your deployment USB key — 10 comments
  3. Computer Info VBScript — 5 comments
  4. Default Keys for Vista and Windows 7 deployment — 4 comments
  5. Using Application “bundles” in MDT 2010 — 2 comments

Author's posts listings

Sep 01

Updating Windows 7 SP1 with the Convenience Rollup and having Windows and Microsoft Update actually still work after

I am not sure how many of you have tried adding the Convenience Rollup (KB3125574) to a Windows 7 SP1 image from a stock SP1 ISO, but I’ve just had the experience of trying to take an SP1 WIM without any updates to fully patched, including the rollup, as part of a deployment.

I am not amused.

While there may be multiple ways to achieve this, I tried a few approaches and ended up settling on this particular approach which was repeatable (paths below are the ones I used – obviously substitute for your own).

1. Mount the WIM:
dism /mount-wim /wimfile:D:\temp\source\sources\install.wim /index:1 /MountDir:D:\temp\mount

2. Inject the April 2015 servicing stack update (KB3020369):
dism /image:D:\temp\mount /add-package /packagepath:”D:\Temp\Updates\WIM_Integrate\Updates\AMD64-all-windows6.1-kb3020369-x64_5393066469758e619f21731fc31ff2d109595445.msu”

3. Dismount and commit the WIM:
dism /unmount-wim /mountdir:D:\temp\mount /commit

4. Re-mount the WIM:
dism /mount-wim /wimfile:D:\temp\source\sources\install.wim /index:1 /MountDir:D:\temp\mount

Permanent link to this article:

Mar 21

Debian 8.3 on Hyper-V (the recommended way)

Running different distributions of Linux or variants of BSD on Hyper-V has gotten a lot easier than it was even 2-3 years ago, but there are still considerations one should take when building VMs or VM templates for deployment in Hyper-V (or Azure), and my distribution of choice for a very long time has been Debian stable.  While it might not have the feature set that Ubuntu has running on Hyper-V or Azure, I prefer it partly because it’s comfortable to me, and partly because I tend to agree with the Debian creedo.  This will likely work for most distributions out there (Ubuntu included), but since Ubuntu gets all the love on Hyper-V and Azure, I figured I’d do a post around how to get the best performance out of your Debian installations on Hyper-V.  At the time of this writing, the current stable release is 8.3 (Jesse), so that’s what you’re going to see here.  Note that this is based on the “best practices” documentation currently found here.

Permanent link to this article:

Nov 17

Windows 10 upgrades and the taskbar

I apologize for the horrible picture, but I couldn’t take a snapshot during the upgrade from my physical box.  Guess the Windows folks don’t bother testing the upgrade process with the taskbar in a non-standard location, eh?


Nothing to worry about, as the upgrade went fine.  Was a little odd to see, though.

Permanent link to this article:

Oct 16

Windows 10 VDI configuration script published

I’ve published the Windows 10 VDI script to github – grab it and take it for a spin!

Permanent link to this article:

Sep 26

PowerShell Profile

This is basically the profile posts from (which is written as different posts by Rikard Rönnkvist) and simply put together in a single profile script which I use on all of my Windows boxes:

Permanent link to this article:

Jan 20

Network Connections dialog empty / teaming “Host Unmanageable” – fix

I’ve run into this with increasing frequency in my Server 2012R2 clusters, and it ended up being WMI corruption. IPConfig would show correct IP addressing (and even the teamed NICs created with Windows teaming), and ping would work; however, the network connections dialog box (ncpa.cpl) was completely empty, Server Manager said teaming was disabled, launching the teaming administration page (lbfoadmin.exe) would show “Host Unmanageable” as the status, and attempting to make any connection to any other machine other than ping would result in failure (for example, \\server\share would fail immediately with the host being unavailable).

Here are the steps I needed to use to get the machines up and running again (and I’ve restored from failed backups on a few to test and retest these steps, and in this particular order which did seem to matter, to validate):


Permanent link to this article:

Jan 12

Make WMI more robust to large volumes of queries

Ever had a machine where WMI stopped working properly and needed to be rebuilt?  Was it running something that does high volumes of WMI calls (like System Center agents, or Tivoli, or HP OpenView (to name a few regular problem children – I’m sure you can think of more)?

Here’s a PS script I run to increase memory per WMI process (and globally across the machine) available to WMI, as well as modifying it in the boot order (if you rely on RSOP, WMI’s default configuration means it’s possible it won’t be completely loaded properly when Group Policy runs, and can cause RSOP issues, amongst other things).

$oWMI=get-wmiobject -Namespace root -Class __ProviderHostQuotaConfiguration

Set-ItemProperty -Path HKLM:\SYSTEM\CurrentControlSet\Services\Winmgmt -Name 'Group' -Value 'COM Infrastructure'
winmgmt /standalonehost


Permanent link to this article:

Dec 15

“Disabling” IPv6 – breaking down the DisabledComponents registry value

I’ve gotten an elevated number of requests recently on “how do I disable IPv6” or “what’s the best way to configure IPv6 in my environment”. I’m not entirely certain of why I’ve gotten so many recently, and I’m not sure if it’s a coincidence or if there’s more to it. However, what I’ve found is that most IT departments I’ve come across over the years simply go and set IPv6 to completely disabled via setting the disabledcomponents registry value to 0xffffffff. While this does indeed disable IPv6 entirely, I have to warn everyone I come across with this set that Microsoft doesn’t test this setting at all, and support for resolving issues with this set have usually resorted to setting disabledcomponents back to 0x0 and retesting, where things magically work, and that’s the extent of what is done for obvious reasons. This can (and sometimes does) also break functionality in Windows, and the one that most customers eventually run across is DirectAccess (with Remote Assistance in second).

Permanent link to this article:

Sep 10

KB2966828 breaks Net.Pipe listener adapter service and more!

NOTE – This has been fixed with the MS14-053 update.



Install from Windows Server 2012 R2 Update 1 media (technet, MSDN, etc. – doesn’t matter):
Install Server 2012 R2

Add the features .NET 3.5, HTTP, and Non-HTTP activation, and you will end up with the service in question, Net.Pipe Listener Adapter:
Service is working...

Install KB2966828, and restart (that is the awesome PSWindowsUpdate in action):
Install KB2966828...

The service is now busted:
It's not working anymore!

I’ve also encountered it causing issues with starting ASP.NET app pools and causing failures while running iisreset. A quick workaround is to add the public key token that is failing (b03f5f7f11d50a3a, found while debugging the crash) to the registry in the strong name validation bypass list:


Adding that will allow things to work again, until the problem is fixed by Microsoft at some point.

Permanent link to this article:

Sep 05

Put agent into maintenance mode remotely via PowerShell in SCOM 2012 R2

Our SCOM monitoring environment monitors one of our provisioning environments, where machines come and go regularly. These hosts are potentially in many, many different groups depending on function, and they can come and go many times a day. Yes, a group can be put into maintenance mode easily, but doing so for a host, remotely, isn’t necessarily as easy. Here’s a PowerShell script (created after reading about something similar on the Coretech Blog, here) that takes machine names passed in as the first parameter, places all machine names in an array, and sets each machine into maintenance mode in a particular SCOM management group. There’s little error checking here, so if you wanted to make this more robust, you’d probably want to add some parameter validation, etc. Without ado, here it is:

Permanent link to this article:

Older posts «

Bad Behavior has blocked 247 access attempts in the last 7 days.