Automatic BITS 2.5 installation for SCCM 2012 on Windows Server 2003

June 20, 2012

It seems the SCCM 2012 client will no longer install BITS 2.5 automatically. I’ve put this vbscript together to allow you to force BITS 2.5 onto Windows Server 2003 x86 or x64 without requiring multiple reboots/logons. If you don’t have an existing deployment infrastructure this eliminates a lot of extra work.

You will need to place this script in a folder, the client files in a source subfolder, and the BITS 2.5 hotfixes and a copy of pskill.exe in the bits25 subfolder. Modify the ccmsetup line of the script to suit your infrastructure.

This was written as a quick and dirty solution. It isn’t elegant but it works.

The script performs the following actions:

1. Install the correct BITS 2.5 patch depending on the platform.
2. Launch the BITS service if it isn’t running.
3. Use tasklist /svc output to identify the PID of the netsvc.exe instance BITS is running under.
4. Kill that instance of netsvc.exe. I had to use pskill because WMI wasn’t cutting it.
5. Update the required .dll files.
6. Restart BITS. SCCM will now recognize BITS 2.5 as being installed.
7. Execute ccmsetup.exe to complete the SCCM 2012 client installation.


Converting Marimba Dates

June 1, 2010

In the course of reviewing Marimba logs you may encounter dates in long integer format. Use the following vbscript to convert these to mm/dd/yy format. You may need to modify the value of tzadjust (currently set to -6 on line 2) depending on your time zone.

temp = InputBox(“Enter a Marimba date, i.e. 1265695200000.”)
tzadjust = – 6 ‘ central time = GMT -6
temp = temp + (tzadjust * 3600 * 1000)
temp = DateAdd(“s”, temp/1000, “Jan 1 1970”)
WScript.echo temp

Injecting Intel Storage Drivers into XP WIMs via MDT

October 20, 2009

Update 19 August 2011 – I’ve made the decision to only offer my “next generation” refinements on a licensed basis. This includes support for MDT 2012, X64 support,multiple driver support, AMD/SCSI, etc. If you want to discuss your specific needs please drop me a note. I will continue to offer the old version found below for free for those who find it fits their needs despite its limitations.

Update 15 July 2011 – I’ve begun testing this solution within MDT 2012 Beta 1. I intend to make several major enhancements, such as supporting XP x64 and supporting the installation of different versions of the Intel SATA driver for different hardware models using rules. I’m also looking at supporting the AMD sata drivers.

Update 18 Mar 2009 – I have now confirmed that this solution works without modification in MDT 2010 as well as MDT 2008.

This script will allow you to inject Intel’s SATA drivers into all of your XP WIMs: automatically, on-the-fly at deployment time. No more blue screens because the storage driver for the model your image needs to work on wasn’t available when it was built.

You will no longer have to refresh your core image with the newest Intel SATA driver every time you need to add support for a new storage device. Every XP WIM you need to deploy can now boot on machines with either AHCI, RAID, or Compatibility SATA modes enabled.

This was done in a hurry and I admit it has some pretty sloppy coding. I took some pretty ugly shortcuts in the INF parsing and made a number of assumptions to reduce development time to the bare minimum. As such it may need modifications to paths and folders to work in your environment. It only supports the Intel 32-bit storage driver at this time but it can probably be made to work with storage drivers from other vendors with a little research and some minimal changes to the actual code. I’ve actually been using this for about a year now and it has worked with the last three or four Intel SATA driver releases without modifications so I’m guessing  this will continue to be the case for the forseeable future.

1. Download this .zip file and then extract the .wsf file within and place it inside Distribution$\Scripts on your MDT server.

2. If the XP image in the WIM file was NOT built using BDD/MDT, you will need to inspect the contents of HKLM\Software\Microsoft\Windows\CurrentVersion\Setup\SourcePath and modify the two lines in the wsf which refer to “c:\windows\source” to reflect the location of the Xp source files on your image. Note: If your SourcePath currently points to a removable drive, you will need to mount your XP image w/ imagex, load the c:\windows\system32\config\SOFTWARE hive using regedit, and modify that key to point to a local folder in order for this solution to work properly. The i386 files will also need to be placed in that same folder. A future version of the script will be able to address these shortcomings automatically.

3. Create a Drivers folder in Distribution\Scripts and put a copy of all the files from Intel’s latest storage driver 32-bit boot floppy image inside of it.

4. Add the new script as a “Run Command” item to your XP deployment (not capture, although that might work too) task sequences. Place it in the Post Install phase, i.e. immediately after the built-in Driver Injection task sequence item.

New Task Sequence Item

5. When you need to update the SATA drivers, simply refresh the contents of the Distribution\Scripts\Drivers folder with the newest version of the drivers and then update your deployment point(s) again. You will still need to maintain the Intel storage driver(s) in your Out-of-Box section so it will be included in your boot images.