March 2010 - Posts
I had an issue on one of my primary sites where the SMS_SITE_SQL_BACKUP status was showing up as failing. My backups appeared to be functioning properly however.
I was able to resolve the issue by removing the backup task, watching sitecomp.log for the change, then re-enabling the backup task again. After the backup task re-enabled, the component status showed up successful. I let the backups run on schedule and verified they were successful.
Hope this helps someone else out.
http://www.microsoft.com/industry/healthcare/technology/hpo/desktop/mdt.aspx
Microsoft has released an updated version of the HealthCare pack for MDT. Download at the above link. The administrator guide has a great summary and introduction, so I would recommend reading that for detailed information.
EXECUTIVE SUMMARY
Healthcare Microsoft Deployment Toolkit (MDT) 2010
Help healthcare organizations build and the deployment infrastructure, by providing a packaged set of operating system deployment scenarios
Reduce errors associated with creating builds and produce higher deployment through the inclusion of scripts in a preconfigured location that provides a tested platform to build upon
Here are a few screenshots of the add-ons/extensions:
Install Screen:
Extensions to the Workbench:
Templates for application installs, there are instructions in the source folders for obtaining install files:
Additional Task Sequences:
Additional steps to the Task Sequence:
Additional script files used in the TS custom steps:

I had previously done a bunch of work on making my custom boot wizard a certain size and centered, and it just didn’t always look as good as I wanted it to with various screen resolutions. So I’ve resorted to simply always making sure the window is maximized :)
Open your wizardeditor and go to your global pane. Then you will want to add a customstatement and put the following text in:
window.moveTo 0,0
window.resizeTo screen.availWidth, screen.availHeight
That’s it, save your changes, update your boot image, and test. You should now have a front-end that is maximized and no longer need to worry about it being centered or large enough to contain your information.
Post over on the Deployment Guys Blog, a nice MDT Debugger made available for helping determining why scripts have failed.
Check it out here:
http://blogs.technet.com/deploymentguys/archive/2010/03/22/mdt-debugger.aspx
There appears to be an issue in the Install Software step if you are setting your packages dynamically through the database or customsettings.ini. Your case will need to match your program otherwise the application will error out with a “Install Dynamic software action failed to install packageID ‘xxxxxxxx’, programID: "’xxxxxxxxx’. Error Code 0x80004005”. From what I’m told ConfigMgr is case sensative when it processes the package:program relationship.
In my case, “Per-System Unattended” vs “Per-system unattended” meant the failure of about 10 applications that i had set in customsettings.ini. If you are having trouble installing multiple applications, be sure to verify that your case matches what you have for that program exactly.
Keith over at Xtreme Consulting has a nice post on driver management in MDT. He explains the typical Make/Model match, then talks about PNP based matching and then finally touches on a hybrid of the two. Worth a read, and then you can determine what works best for you.
Read more here:
http://deployment.xtremeconsulting.com/2010/03/11/assign-drivers-to-computer-makes-and-models/
http://myitforum.com/cs2/blogs/skissinger/archive/2008/10/28/mini-monster-mof-builder.aspx
The Mof builder has been updated to 1.11. This is a fantastic tool, definitely check this out if you haven’t seen it before.
Here is a snippet:
“For SMS 2003 SP2 and earlier, there were popular downloads available for what were known as "the Monster Mof". They were great, but in my opinion could be bloated. For example, it would contain edits for 3 different anti-virus vendors. Most companies usually only had 1, or if they were really diverse, possibly 2. As an admin, you either put in the entire monster and lived with the bloat, or edited the Monster anyway, and either removed edits or set them to FALSE.
Since SP2, edits have been accumulating. Most of which have been blogged on MyITForum, but they are often difficult to find. There's a zip file with all of the text snippets here, but even that could be daunting to the admin who rarely edits the mof.
So... here's another, different way to pick and choose which MOF extensions you might want in your environment. Download the attached file, unzip it, and rename it from .txt to .hta, and double-click it. You'll be presented with the below. Please look at Misc Notes, and the specific instructions for SMS2003 vs. ConfigMgr. You can use the ? to get more info on a particular snippet, which may lead you to additional blog entries. Once you've decided which 1 (or 5) extensions you might want in your environment, check those items on, and at the bottom, click "Compile & Display". You will then have 1 (or 2) text files with your own "mini monster" to add to your mof files on the server. As useful mof edits continue to accumulate, the download will be updated; at least until a better method for sharing mof snippets appears!”
Sometimes things just happen, sometimes you accidentally delete the All Systems collection because you were trying to do too many things at once. I’ll fess up, I did it.
Here’s how to restore the collection with the appropriate ID. This solution was given to me by Microsoft Support.
Here is the VBS script that will do the restore:
####begin script
strSMSServer = "."
strParentCollID = "COLLROOT"
'This example creates the collection in the collection root.
'Replace COLLROOT with the CollectionID of an existing collection to make the new collection a child.
strCollectionName = "All Systems"
strCollectionComment = "This is the All Systems Collection."
Set objLoc = CreateObject("WbemScripting.SWbemLocator")
Set objSMS = objloc.ConnectServer(strSMSServer, "root\sms")
Set Results = objSMS.ExecQuery ("SELECT * From SMS_ProviderLocation WHERE ProviderForLocalSite = true")
For each Loc in Results
If Loc.ProviderForLocalSite = True Then
Set objSMS = objLoc.ConnectServer(Loc.Machine, "root\sms\site_" & Loc.SiteCode)
End if
Next
Set newCollection = objSMS.Get("SMS_Collection").SpawnInstance_()
'Create new "All Systems" collection
newCollection.Name = "All Systems"
newCollection.OwnedByThisSite = True
newCollection.Comment = strCollectionComment
newCollection.CollectionID = "SMS00001"
path = newCollection.Put_
'Set the Relationship
Set newCollectionRelation = objSMS.Get("SMS_CollectToSubCollect").SpawnInstance_()
newCollectionRelation.parentCollectionID = strParentCollID
newCollectionRelation.subCollectionID = ("SMS00001")
newCollectionRelation.Put_
####end script
Once you’ve recreated the collection with the appropriate ID, then you’ll have to import the All Systems query for your membership rules.

I had a question when moving my mof customizations to ConfigMgr, what goes where?
Sherry Kissinger replied back and I wanted to post it for others as well.
the sections that start with
#pragma namespace for cimv2\sms go to sms_def.mof
the sections that start with
#pragma namespace for cimv2 to go configuration.mof
Hope this helps.
There is a great article on Microsoft written by Jeremy Chapman. This is great read.
Here is a summary of the contents:
Contents
Deploying Windows 7 from A to Z
Migrating User Files and Settings from Windows XP to Windows 7
Application Management and Preparing for a Windows 7 Deployment
Application Compatibility
Application Packaging
Choosing an Image Strategy and Building Windows 7 System Images
Quick History Lesson for System Imaging
Building Your Image
Getting to Thin Images
Automating the Migration from Windows XP to Windows 7 End-to-End
Automating the End-to-End Migration Process
Tricks for More Automation
Download Here:
http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=dfafb346-97dd-4fca-947e-3d9149834da6
ConfigMgr/SMS will generally put files on the drive with the most free space. This isn’t always where you want items to be put.
These are the simple steps to avoid ConfigMgr/SMS from putting files on drives you don’t want. Further information from Microsoft is below as well.
Create an empty file named no_sms_on_drive.sms.
Place the no_sms_on_drive.sms file at the root folder of any drive that you want to prevent Configuration Manager 2007 from installing files on.
TechNet:
“By default, the Configuration Manager 2007 site server role component installation files are installed on the first available NTFS formatted disk drive with the most available free disk space. However, some files are not installed in the default installation folder. For example, files are installed in the following folders:
- The SMS_CCM folder (if the management point site system role is enabled on the computer)
- The Inetpub\wwwroot\SMSComponent and Inetpub\wwwroot\SMSReporting_sitecode folders (if the reporting point role is enabled on the computer)
- The %Windir%\System32 folder
Configuration Manager 2007 will not install site role component files on a drive that contains a file named no_sms_on_drive.sms. Instead, site role components will be installed on a different NTFS formatted disk drive that does not contain the no_sms_on_drive.sms file.
The no_sms_on_drive.sms file prevents site system role component installation, on a drive with this file present, for all site systems that are installed by site component manager. If site role installation files are already present on the drive before placing the no_sms_on_drive.sms file on the drive, the installation files are not moved.”
http://technet.microsoft.com/en-us/library/bb632890.aspx
KB871234:
“By default, when you install a Microsoft Systems Management Server (SMS) 2003 remote Site System, the SMS Site Component Manager service installs the binaries (SMS folder) for the Site System on the NTFS-formatted volume that contains the most free space. You may prefer to use an NTFS volume other than the default volume for your remote Site Systems by preventing SMS from enumerating certain NTFS volumes.”
http://support.microsoft.com/kb/871234
Recently was working on a ConfigMgr upgrade, in the process the SMS 2003 child site was description wasn’t ideal. Changing that after the fact isn’t supported by Microsoft, however this below way will work. Please understand that you do this at your own risk as Microsoft does not support the method. Had this saved in a word doc, i’m not sure where it originally came from, so if it’s from you, credit to you.
- Open the SMS Services Manager tool and if the target site server is a secondary connect to it
- Locate the SMS_SITE_CONTROL_MANAGER component and stop it
- Open in Notepad the %SMSDRIVE%\SMS\INBOXES\SITECTRL\sitectrl.ct0 file
- Locate the Site Definition section,
BEGIN_SITE_DEFINITION
<Numerical Value>
<Site Code>
<Site Description>
Edit the text within <Site Description>
Note: Do not add or change the syntax of the sections in this file or you will cause serious damage to your Site server. Do not remove the < or > symbols or edit anything outside of them
- Save the updated sitectrl.ct0 file
- From the SMS Services Manager tool restart the SMS_SITE_CONTROL_MANAGER component
- The hman.log will inform you that it is processing the Site Control File. A Status Message will be generated, and described in the message is the new Site Description.
You can also see this information in the Status Messages for the Site under Message ID 3306. - Go to the SMS Console and refresh the Site to see the new Site Description.