Remove computer from collection after installation

I just have to mention this great link. When you’re done with an OS-Deployment and eventually want to remove the computer from the install collection, a common way to do this is with a script in the end of the Task Sequence. But this is a much sexier way to do it, by removing the computer from the CM-server when the status message from the Task Sequence is marked as finished.

Danovich is the author.


I noticed a few people have been googling for this so I just thought I’ll post a short how-to on this.

Let me first say that before the combined IE9 + language pack came out I tried to bundle IE9 and the language pack with the Internet Explorer Administrator Toolkit (IEAK). That worked fine but I wasn’t able to deploy that package in the Task Sequence. I don’t know why this didn’t work because the package deployed fine with normal software deployment.

Since then MS has released IE with the integrated language pack, you can find all versions here: 32bit and 64bit

Deploying is very simple. Simply create a package with the following program Command Line,  depending a little bit on which IE9-exe file you’ve downloaded:

ie9-windows7-x86-enu.exe /update-no /quiet /norestart

Advertise the program or put it in your Task-Sequence after “Setup Windows and ConfigMgr”.

Update1 :

If you want to be able to choose between languages for Internet Explorer in your Task-sequence you can always bundle the English IE9-version in your base-image and then run the language-packs on top of that. The language packs for IE9 and Windows 7 are found here.

The language packs come as MSU-files that are installable through the WUSA-command. So to install the 64bit version of the Swedish language pack on top of an English Internet Explorer 9, simply run:

wusa IE9-Windows6.1-LanguagePack-x64-sve.msu /quiet /norestart

Of course, remember to download the matching version of the language pack depending on if you’re using 32- or 64bit Windows.

Important Update2:
Internet Explorer 9 Setup does a really evil thing in the registry. It creates this key:

HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\NoIE4StubProcessing

This little registry key breaks all Active Setup commands for 64-bit Windows 7! Note that this regkey is not set on the SysWOW64 registry folder so it only applies  to 64-bit Active Setup. Therefore the command that’s supposed to create shortcuts for the taskbar and Start Menu doesn’t run. Instead you might end up with a broken IE9-icon that points to the users Home Directory (i.e. H:) !

Apparently, this key was used in IE5(!) when you wanted the installation to be really, really quiet.

So in order to have a successful installation, delete this reg-key after the installation of IE9. Here’s a link how to do it:

I found the information regarding this bug here.

Was this helpful? Please leave a comment.

[EDIT: WUSA. Not WUSE. Thanks Kcirtap!]

USMT Offline Migration in Windows PE with Hardlinks

This is something I wanted to do a long time and thanks to Niall Bradys excellent guide at it was easy. Except for the parts that were hard. :-) There seems to be a few problems with USMT4 at the moment. Especially with 64-bit Windows 7. I’ll tell you in a sec. what I ran into…

I also wanted to make Niall’s Task Sequence a little shorter with VBScript, I like my Task Sequences short and snappy. Or at least, as short as they can be. Peter van der Woude also has a post on this, but hey, I’m using VBScript! :-)

Let’s get on with it. What are we talking about here? User backup of all important files, bookmarks, user profiles and their desktops using Microsoft User State Migration Toolkit v4. We want to do this not from within Windows but during the Windows PE state before we apply a new OS.

The good thing about doing this in Windows PE and with Hardlinks is pronounced Speed. Hardlinks make file copying locally and over the network unnecessary. It needs no extra disk space and there won’t be any locked files as when you’re doing migrations from within Windows. It’s not magic but it’s pretty close.

Also if you have a computer that doesn’t boot into Windows but has lots of important files on it and with a readable disk – this is the only way to copy that data.

The only thing you can’t do with USMT and Hardlinks in Windows PE is if you’re replacing the hardware. USMT with hardlinks in Windows PE mode is for re-installing the computer with a new OS (or OS version) only. For other scenarios you need a server-state store. That method is not covered in this post.

Let’s jump straight to business. Here’s what my Task-sequence looks like, stripped off stuff that’s not important for what we’re trying to illustrate here.

First a short overview of what it does. All the meaty details are further below. You can download the entire Task Sequence here. (Rename it to *.xml and import into SCCM.)

Read More…Read More…

No program in the Task Sequence

You’re trying to add a program in your Task Sequence but the program in your package doesn’t appear?

This can be one of two things.

Either you’re allowing your users to interact with the program or the program can only run with a user logged on. This is not possible since the task sequence is supposed to be unattended.

Choose “Whether or not a user is logged in” and uncheck “Allow users to interact with the program”.


Oldie but goldie utility

This util is since the times of SMS 2003 but deserves to be mentioned. It’s the ConfigMgr 2007 Distribution Point Package Utility.  If you want to remove a distribution point, you need to delete all packages on it before removing it. Otherwise the packages will “miss” its’ distribution point. This will appear has hundreds of error messages in the SCCM-log and can be a bit annoying. Another use is if you want to add a new DP to SCCM and don’t want to go through the labor to add all packages one by one to the new DP.

Select a Distribution point – Add or remove packages. Very simple, very useful.

Download it from myitforum: Here


Error poetry

An error occurred during client rendering.
An error has occurred during report processing.
Query execution failed for dataset ‘DataSet2’.
The EXECUTE permission was denied on the object
‘PowerManagementGetPowerCapabilities’, database ‘SMS_CEN’, schema ‘dbo’.

Right, so you’re trying to view a report in Reporting Sevices that you copied from ConfigMgr and now you’re getting this. What is wrong? The SQL-account you’re using to access the Reporting Services database simply has insufficent  rights. That’s what the message above is trying to tell us.

The error in Internet Explorer

After some trial and error I gave my Reporting Services SQL-account rights as db_datareader and smsschm_users in the ConfigMgr database (SMS_<sitecode>). See screenshot below:

After that, reports work great.


Subscribe to reports with SQL Reporting Services

Subscribing to reports is really great to show to upper managment. How do you make that work? It’s not too hard actually. You just need to give ConfigMgr a username that has access to the database so that Reporting Services can save the information in the database. I use the same account for that as the account I specified during the installation of SQL Reporting Services. If you run into access problems, check my post above this one.

Right click on your Server below Reporting Services in ConfigMgr.


... after that you should be able to subscribe to reports.


Reporting Services configuration can be tricky…

…very tricky indeed. I had no idea how complicated it can be until today.

In this installation of SCCM 2007 R2 (in my case R3) with SP2 – Configuration options where greyed out in the “Copy Reports Wizard” as well as when you right click the Reporting Services Server icon below Reports in the SCCM-console.

According to Microsoft this can happen if you run more than two instances of SQL Reporting Services on the same machine and that’ll make ConfigMgr confused since it automatically selects the default instance of Reporting Server through WMI. I’m pretty sure  this issue happens if you choose “Install but do not configure the report server” during the SQL 2008 installation instead of “Install the native mode configuration”. I have to test this in the lab but I’m guessing the SQL RPS instance never gets created if you don’t configure RPS and therefore SCCM can’t find it.

If you want to fix  this, all you need to do is to open Reporting Services Configuration Manager and configure RPS manually.

Read More…Read More…

When the boot image takes forever to load…

This one isn’t new but I haven’t encountered this problem until today.
My customers WindowsPE boot image took 1 minute and 15 seconds to load. This is when the PXE-server transfers WindowsPE to the RAM-disk via TFTP. In other words, before the OS-Image gets applied. Adjusting the TFTP-packet size might shorten loading times since larger packets needs fewer acknowledgements from the client. In my customers case it was the fix. With a packet size of 8192 the WindowsPE-image transfer took 26 seconds and with a packet size of 16384 the transfer took only 20 seconds. That’s going from 2mb/s to 7.5mb/s on a 100mbit link.

Previous to SCCM 2007 SP2 you had to download a hotfix but that’s no longer needed. All you need to do is add the following to your registry:

For SCCM 2012 the path is
Add the DWord-value RamDiskTFTPBlockSize and set the decimal value to 16384.

If your SCCM 2007  installation OS is 64bit the path is:


For 32 bit OSes and for SCCM 2007 the path is :


Here is the official Microsoft KB: KB968718

Don’t forget to restart the WDS-service after you change the registry-value.

Update! With SCCM 2012 build 1606 there’s a new registry option called “TFTPWindowsSize” to modify the window size of TFTP packages. (“The receive window is the number of bytes a sender can transmit without receiving an acknowledgment.” – Microsoft).

Jörgen Nilsson has done an excellent comparison on how the two registry values impact speed during the download of the bootimage. So have a look at his site here: