January 20 2012

Windows 7 on NCR RealPOS 7402

A project that I recently worked on was using SCCM to upgrade their fleet to Windows 7. The 7402 uses integrated graphics in the 852GM and 852GME chip. The problem here is that this is very old and unsupported by NCR and Intel – so when installing Intel 852GM/852GME/855GM/855GME Series video driver Windows 7 reverts back to Standard VGA adapter after restart. After a day of banging my head against a wall, I came up with a solution for this. The solution is automated and deployable via SCCM. At the moment I cannot reveal the exact process, but for anyone that is experiencing the same problem, contact me and I can possibly point you in the right direction….



I use a maximum of one Google Ad per post to help offset some of my blog hosting costs.


December 7 2011

Set custom SCCM task sequence variable to client DHCP server

I had a requirement to be able set a custom SCCM Task Sequence variable to the value (IP address) of the DHCP server that had issued the IP address to the client . This meant that later in the Task Sequence I could re-use this value for other things, in this case it was to map a network drive, eg \%DHCP_Server%temp. I used a VB script to set this:

' Purpose: Set SCCM task sequence variable 'DHCP_Server' to the value of the DHCP server IP address
' Date: 06/12/2011
' Version: 1.0

strComputer = "."

' Create Task Sequence environment object
dim osd: set env = CreateObject("Microsoft.SMS.TSEnvironment")

Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" & strComputer & "rootcimv2")

' Find active network adapter
Set colAdapters = objWMIService.ExecQuery _
("SELECT * FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled = True")
n = 1

For Each objAdapter in colAdapters

' Set variable in the Operating System Deployment environment
env("DHCP_Server") = objAdapter.DHCPServer

n = n + 1

When you dump out the Task Sequence variables, you can then see it at the top of the list:


October 19 2011

How to set date format and timezone in WinPE

I had a need for an accurate timezone and specific date format during Windows PE session when using SCCM OSD.

To change timezone:

At the start of the task sequence, run a command like “reg.exe import AUS_EST.reg”
This is simply an export of HKLMSystemCurrentControlSetControlTimeZoneInformation.
In my case, the contents of AUS_EST.reg looked like:

Windows Registry Editor Version 5.00

“StandardName”=”AUS Eastern Standard Time”
“DaylightName”=”AUS Eastern Daylight Time”

To change date format in WinPE:

Mount WIM using DISM
Load hive “mount”WindowsSystem32configDEFAULT into registry
Navigate to the loaded hive then Control PanelInternational
Update the values you need to in here such as sLongDate and sShortDate
Unload hive
Unmount WIM using DISM, ensuring that you use the /commit switch

For more info on editing the registry for a WIM file, see my other post http://blog.danovich.com.au/2010/03/16/edit-the-registry-inside-a-wim-file/

October 10 2011

Outlook 2010 settings not migrated during SCCM OSD with USMT

I had an issue recently where Outlook 2010 settings and signatures were not being migrated to the new machine when using USMT in conjunction with SCCM OSD. There is a Microsoft hotfix for USMT 4.0 to specifically address this, essentially it is an update of the executables, DLLs and XML files to support the Office 2010 application. See http://support.microsoft.com/kb/2023591

August 1 2011

SCCM unattended OSD with bootable USB drive

Here’s a neat trick to created an unattended USB boot disk for deploying SCCM OSD task sequences. The machine that you are going to use for this process needs to have the SCCM console loaded on it. The machine also needs to be a Windows Vista, Windows 7 or Windows Server 2008 or higher Operating System, this process will not work on Windows XP or Windows Server 2003. Also log onto the machine with an account that has administrative privileges.

  1. Attach the USB Flash Drive to a Windows Vista, 7 or Server 2008 machine (won’t work with XP or 2003)
  2. 2. Open an administrative command prompt window (cmd.exe) and start DISKPART
  3. At the DISKPART> prompt type ‘List disk’
  4. Determine which disk number corresponds to the USB flash drive
  5. At the DISKPART> prompt, type ‘Select disk x’ where x is the disk number that the USB flash drive corresponds to
  6. At the DISKPART> prompt, type ‘Clean’
  7. At the DISKPART> prompt, type ‘List Partition’. If there is a partition, at the DISKPART> prompt, type ‘Select Partition 1’ then type ‘Clean’ or even try ‘Clean all’ if the partitions won’t go away
  8. At the DISKPART> prompt, type ‘Create Partition Primary’. If you receive an error at this stage regarding not being able to create a partition, the USB Flash Drive is not capable of being made bootable and will not work as an SCCM 2007 bootable Task Sequence Media. Please restart the process using a different USB Flash Drive.
  9. At the DISKPART> prompt, type ‘Select Partition 1’
  10. At the DISKPART> prompt, type ‘Format FS=FAT32 QUICK’
  11. At the DISKPART> prompt, type ‘Active’
  12. At the DISKPART> prompt, type ‘Assign’
  13. At the DISKPART> prompt, type ‘Exit’
  14. From the SCCM console, right-click on the Task Sequence and select Create Task Sequence Media. Follow the prompts to create a USB boot disk.
  15. Once created, on the USB drive, navigate to SMSDataTSMBOOTSTRAP.INI
  16. Open TSMBOOTSTRAP.INI and change line Unattended=false to Unattended=true
  17. Save the changes to TSMBOOTSTRAP.INI

You can now boot your machine onto the USB drive (BIOS support required of course) and as long as you have a mandatory advertisement for a OS task sequence and the required computer association in SCCM, you should be fine! Generally much faster the PXE or CD / DVD booting!

If you need to make a few and know that USB is disk 1, you could use a diskpart script (diskpart.txt in this case) something like this (check before you use it!):

Select disk 1
Create Partition Primary
Select Partition 1

And then just run diskpart /s diskpart.txt

July 28 2011


I was having an issue with very slow download of the WinPE WIM image, the screen shows ‘Windows is loading files …’ but it takes between 7 minutes and 1 hour to load the 150mb WIM file over a 100mb link.
After spending a lot of time looking into this, and changing a lot of settings including WDS TFTP block (65536) and window size (64), the RamDiskTFTPBlockSize setting in HKEY_LOCAL_MACHINESOFTWAREwow6432nodeMicrosoftSMSPXE (http://sccm.haas.se/?p=15), the final solution involved settings on the Intel teaming settings on the PXE server:

I needed to leave Jumbo Packets disabled as the client couldn’t handle it and it failed. I increased Transmits and Receive Buffers to maximum values of 2048 and performance was dramatically increased.

Once this was changed, the WIM download was well under 1 minute!