August 2010 - Posts
Great post over on The Deployment Guys blog that talks about a VDI Optimizer tool that creates a VBScript that can be used to customize Vista and above images for use in a VDI environment.
Read the entire post here.
“One of our MCS deployment guys in the UK – Jonathan Bennett (you may know Jonathan as the author of the autoit tools and GImageX) has developed a tool for configuring Windows 7/Windows Vista/Server 2008 images for use in a VDI environment. The tool called VDI Optimizer outputs a VBScript (based on the selections you make in the GUI interface), which can then be used to apply performance and configuration settings to images that will be deployed via VDI platforms – this is particularly useful if you are using MDT 2010 for your image engineering process as the VBScript can bolted into the task sequence using a Run Command Line task.”

Great article over on The Deployment Guys Blog that talks about customizing the MDT Task Sequence Editor to allow your own custom actions as menu options for the Task Sequence you are working with.
Be sure to read more here.
Here’s a sample screenshot:

I had previously blogged about a script created by Michael Murgolo over on TechNet. I wanted to now show you how to actually setup this script and use it in your environment.
Configuring the Task Sequence
First, download the script from the blog post link above.
Copy SCCMClientHotfixPath.wsf and ZTIUtility.vbs to the ConfigMgr client source files. ZTIUtility.vbs can be found in your MDT Toolkit Package, under the \Scripts directory. Here we have a screenshot of the files copied into the ConfigMgr Client source files.

Update your ConfigMgr Client Package to the Distribution Points, so the changes can be replicated out.

Next open up your MDT Integrated Task Sequence. Right-Click on the Task Sequence and select “Edit”.

Next, add a Run Command Line Step, just before the “Setup Windows and ConfigMgr” step under the Post Install Phase.

Name the step appropriately. I will use “Set ConfigMgr Client PATCH Paths”.

Set the Command Line to “cscript.exe SCCMClientHotfixPath.wsf”

Make sure to select your ConfigMgr Client package for the Package.

Go to the “Setup Windows and ConfigMgr” step and copy any properties you have set here to the notepad or clipboard (to be used later in this guide), if any. Then remove them from the step.

Settings have been removed and copied to clipboard or notepad.

Setting The Variable Method 1
Open up your CustomSettings.ini in the source files for the Settings Package you are using in that Task Sequence.

NOTE: You can check which package this is by looking at the first Gather step in your Task Sequence. This will tell you what Settings package is being used by the Task Sequence.

We will need to set a variable for “SMSClientInstallProperties” and define the variable, as the variable is not known to MDT, however it is a known variable for ConfigMgr. You will want to put any client command line items you previously had in the “Installation Properties” section of the “Setup Windows and ConfigMgr” Task Sequence step, minus any PATCH values.
###############################
[Settings]
Priority=Default
Properties=SMSClientInstallProperties
[Default]
OSInstall=Y
SMSClientInstallProperties=FSP-ConfigMgrFSP
###############################

Then make sure to update the distribution points for the Settings package you just modified.
Setting The Variable Method 2
If you prefer to not set the variable through CustomSettings.ini and would rather set the variable through the Task Sequence you can also do that by doing the following steps.
Create a new Set Task Sequence Variable step before the “Set ConfigMgr Client PATCH Properties” step you created earlier (or whatever you happened to call it).

Set the variable to be set as “SMSClientInstallProperties”

Then set any client properties you want set, again minus the PATCH property.

One of the frustrating things with VMware Workstation can be trying to get into the BIOS to change the boot order. Unless you have mad, click, F2 skills, it’s pretty easy to miss the BIOS prompt in the millisecond it actually displays. By default you can PXE boot a VM the first time, but after an OS is installed, you will have to change the boot order to be able to PXE boot again, or if you want to have the CD-ROM boot first.
Thanks to Paul Newton for the following tips:
To Increase the boot delay, edit your .vmx file and add the line:
bios.bootDelay = "5000"
This will add a 5000 millisecond (5 second) delay to the boot.
Or you can add:
bios.forceSetupOnce = "TRUE"
To make the VM enter the BIOS setup at the next boot.
Hope that helps,
Chris
Microsoft System Center Configuration Manager comprehensively assesses, deploys, and updates servers, client computers, and devices – across physical, virtual, distributed and mobile environments. This course will take IT implementers down the path of understanding how Configuration Manager 2007 can be used to perform common tasks such as Operating System deployment, software distribution and update, asset tracking and intelligence, client health reporting and management, security, and network access protection.
These areas are covered.
- Operating System Deployment
- Software Distribution
- Software Updates
- Asset Intelligence
- Client Health
- SQL Reporting Services
- Desired Configuration Management
- Internet Based Clients
- Network Access Protection
- Security and Compliance
http://technet.microsoft.com/en-us/systemcenter/cm/ff597934.aspx
Another great post by Michael Murgolo over on TechNet for automating the ConfigMgr client PATCH property instead of hard coding the path and packageID.
Read more here.
Jeremy Chapman has created the third blog in a series on the benefits of using package based imaging tools.
Read the third post here.
“This is the third and final blog in the series . In the last blog, The Pros and Cons, I covered the main benefits and underlying drawbacks of file-based and sector-based core images. I intentionally stuck to core image files (the .WIM, .V2I, .GHO, .TIB, .VHD, etc. files themselves) and purposely left out the automation needed to tailor installations at install-time using automation. The automation will actually play a role into the overall recommendations of what type of image to use – file or sector-based. I would argue that thin, file-based images would make a lot less sense if the automation wasn’t there to support the additional functions.”
Steve Rachui has another great Configuration Manager post over on his blog, this time about how to create a web page that allows OSD users to setup imaging themselves without having to use the System Center Configuration Manager 2007 console:
OSD is a powerful imaging tool but setting up systems to be imaged may require a user have access to the SCCM console. This often means that the SCCM staff gets assigned the task of imaging. Wouldn’t it be cool if the OSD users could setup imaging themselves without having to use the SCCM console? Yeah, I thought so too.
I have just completed building a sample web page that allows users to choose their own imaging scenarios.
For all the details see the rest of the post here.
This will be a
quick-start guide for integrating MDT 2010 Update 1 with ConfigMgr
SP2/R2. This information is provided as-is.
This will be a
three part series covering the Setup, Boot Images and Task Sequences.
Part
1: Setup
Part
2: Boot Images
Part
3: Task Sequences
If you want
specific information on UDI (User Drive Installation) setup and components,
then I would point you to one of my previous posts on UDI.
Creating a Microsoft Deployment Toolkit based Task Sequence
Once the Microsoft Deployment Toolkit has been integrated with the ConfigMgr console, you will have a new option to create a MDT based Task Sequence.

Upon selecting “Create Microsoft Deployment Task Sequence”, a wizard will launch that will walk you through the creation of the Task Sequence and required components.

The first screen allows for selection of the Task Sequence template:

There are 7 Task Sequence templates available for selection:
- Client
- Task Sequence for client computers, including portable computers
- Client Replace
- Backs up the computer and then cleans the disk
- OEM Preload (Post-OEM)
- More or less obsolete with ConfigMgr R3, ConfigMgr R3 is a “nicer” way of doing this
- OEM Preload (Pre-OEM)
- More or less obsolete with ConfigMgr R3, ConfigMgr R3 is a “nicer” way of doing this
- Microsoft Deployment Custom
- Blank custom TS, contains only the following steps: Use Toolkit Package, Gather, Install Software
- Server
- Task Sequence for servers
- User Driven Installation
Lets select the “Client” template and click “Next”:

Next, we need to name the Task Sequence:

We’ll call this one “Windows 7 Demo TS”, then click on “Next”:
On the Details page, we can set the options for joining a workgroup or joining a domain (along with providing domain join credentials). We can also set the user name, organization name and product key.

I’ve changed the user to “Deployment User” and the organization to “Deployment Organization”. Since this is Windows 7 I’ve left the product key blank (I’m relying on KMS to activate this box once it’s imaged).

The next screen allows you to set some options if you were going to capture an image of the machine. This will let you set some properties for the image capture. We are going to a create a Task Sequence for deploying here and thus will not provide anything related to capture settings.

The next screen allows you to select an existing boot image (like the one we created in Part 2) or you can optionally create a new boot image, which will run through the process we used in Part 2 to create our MDT boot image. We will choose to use our existing image here.


Once we’ve selected our boot image, click “Next”:

Next we will need to create a MDT Toolkit Files package or select an existing one. The first time you create and MDT Task Sequence, you will have to create a MDT Toolkit package, after that, you can just choose an existing one.

If you have an existing package you’ve created before you can select that now.

If you have not completed the wizard before, then we will need to create a Toolkit package.

Select “Next” once you have put in the path for where you want to store your Toolkit Package.

On the MDT Details pane, we will need to provide a name for the ConfigMgr package we are creating, then click on “Next”:

The OS Image pane provides us with various options.
We can specify and exisiting image we’ve previously captured and imported into ConfigMgr:

We can create a new OS image if we import an image file we have previously capture:

We can specify an existing OS install package (source files) if we have previously imported these into ConfigMgr:

Or lastly, we can point the wizard to source files (local drive, network share, or DVD/CD) and create a new OS install Package in ConfigMgr:

For this walkthrough I’m going to use an existing OS image that I’ve previously imported into ConfigMgr and then select “Next”.

Next we need to specify and existing ConfigMgr client package (client source files for installation) or have MDT create a new ConfigMgr client package for us.

I’m going to have MDT create a ConfigMgr client package for me and then select “Next”.

Next we need to either specify an existing USMT package or have the wizard create a new USMT package for us. The wizard will create a USMT 4.0 package by default. If you are deploying XP and require USMT 3, you will want to select a USMT 3 package here that you have previously created in ConfigMgr.
Lets have the wizard create a USMT 4 package for us and then select “Next”.

Name the package appropriately and then select “Next”.

Next we have the Settings Package screen. Here is where we will create a Settings Package that will help drive our MDT Task Sequence.

Settings Packages contain the following files:
XP
- Sysprep.inf
- Customsettings.ini
- Unattend.txt
Vista/Windows 7
- Customsettings.ini
- Unattend.xml
Set your source path for the Settings Package, and then click on “Next”:

Set the name of the ConfigMgr Package, and then click “Next”:

The next wizard screen is for specifying the Sysprep Package. If you are deploying XP/Server 2003, then you will want to create a new Sysprep Package and it will create a ConfigMgr package containing the require sysprep files for you. If you are working with Vista/Windows7/Server 2008, then a sysprep package is not required.

Select “Next”:

Finally, we have a summary screen showing all the options we have selected in the wizard:

Click on “Next to process the wizard and create the necessary packages. This process can take some time depending on how many packages you have to create and where the source/destination paths are located.

Once completed, you will have a completion screen showing that the process completed successfully.

Click “Finish” to exit the wizard:

Under Software Distribution – Packages, you will now see all the created packages:

You may have different names or more packages depending on the options you selected in the wizard.
If you imported any images or install packages, you will have those listed now as well:

Any package that was created will now need to be sent to the distribution points. Again, I will assume that you know how to do this already.
Keep in mind any time you make changes to any of the packages, you will have to update the distribution points to reflect those changes.
I recommend use of the Copy Packages wizard to copy the packages out to distribution points. This option is also available in the OS Images and OS Install Packages nodes as well.

Editing the Task Sequence
If you right-click on your newly created MDT Task Sequence and click “Edit”, you will now see that the MDT Task Sequence is quite a bit different from a ConfigMgr Task Sequence.



Some important steps to note that you will likely have to modify in the future are the following:
“Use Toolkit Package” – change this to reflect your Toolkit/Scripts package if you ever change or create a new one, this step exists in the following places:
- Initialization
- Preinstall – New Computer Only
- Install – Refresh Only
- State Restore
- Gather Logs and StateStore on Failure
“Gather” step under Initialization. This step is where you would define the “Settings” package you want to use to control rules, namely processing the CustomSettings.ini file.

“Apply Operating System Image” step under the “Install” phase. This is where you can specify the unattended or sysprep answer file contained in your “Settings” package.

A couple other common modifications you will want to make the to Task Sequence after it’s been completed are the following.
Disable the “backup” task. This task is located under Install – Refresh Only. This is enabled by default and will create an image of the machine you are refreshing (OS to OS), this adds a significant amount of time to the process.

By default the local administrator account is disabled in the Task Sequence.

We’ll want to enable this and set the appropriate password.

Set the appropriate Time Zone. By default the Time Zone is set to “Microsoft Time”. 

If you didn’t set Domain properties in the wizard (like we didn’t in this example), but want to come back later and change this, you will want to go to Post Install – Apply Network Settings.

CustomSettings.ini
By default the customsettings.ini created in each “Settings” package you create will look like the following:

As you work with MDT more, you will probably end up adding some rules to process in here, along with database queries. Whenever you work with this file, keep in mind that you will have to update your package to the distribution points after making changes.
Resolving “Task Sequence cannot be run because the program files cannot be located on a distribution point”
One of the most common issues when working with Task Sequences is getting to this screen:

Either something failed to replicate out, or, not that it ever happens, we “might” have to forgot to distribute a package or two. There isn’t an easy mechanism to identify what packages are missing as this wizard will only give you one at a time, which can be quite frustrating if you are missing several.
There are 2 scripts provided by community members to help resolve the above error. The first script was created by Michael Niehaus and details can be found here. The second is by Jason Scheffelmaer and is based upon Michael Niehaus’s and can be found here.
This will be a
quick-start guide for integrating MDT 2010 Update 1 with ConfigMgr
SP2/R2. This information is provided as-is.
This will be a
three part series covering the Setup, Boot Images and Task Sequences.
Part
1: Setup
Part
2: Boot Images
Part
3: Task Sequences
If you want
specific information on UDI (User Drive Installation) setup and components,
then I would point you to one of my previous posts on UDI.
Creating a Microsoft Deployment Toolkit based Boot Image
When MDT is integrated with ConfigMgr, a new option is available in the ConfigMgr console when creating a new Boot Image:

If we select this option, we are presented with a wizard to create a new MDT based boot image for ConfigMgr.
The first screen requires us to provide a source directory for the boot image:

I will typically recommend a path similar to below, putting all boot images in a subfolder called “boot”, and naming the folder with something descriptive.

Once you have entered in the path, you can click “Next” to proceed to the next screen.

Next, we need to provide the name of the Boot Image we are creating, and the version and any other comments if desired.

Click on “Next”:

The “Image Options” page has several selections that we can choose from.
First we can select the architecture of the boot image we want to create:

Next we can select to include ADO components (necessary for access to SQL databases) and optional fonts:

We can also select to add a pre-execution hook/media hook to enable the Deployment Wizard for the boot media. By default this will give us a Computer Name prompt for any unknown device, however this can be expanded to launch a custom front-end or other custom options.

We can also opt to include a custom background image into our boot image:

Lastly, we can choose an Extra directory to add if we want to automatically include additional files to our boot image, for example putting Trace32 into our image for easier reading of log files.

I’m going to add the Media Hook and include an Extra Files in this example:

My extra files directory simply contains Trace32:

The next screen presents you with a summary of the options you selected:

Click on “Next”:
The final screen, will show a confirmation of successful boot image creation:

Click “Finish” to exit:

Once completed, you will now have a new boot image under the Boot Images node in the ConfigMgr console:

Lets open the properties of the boot image:

Under the Data Source tab, you will see that the source points to the directory we had specifies previously:

On the “Windows PE” tab we have a few options we’ll want to set:

You will want to enable command prompt support for testing, so you can open up Trace32 and view log files. This isn’t recommended for your production boot image, however many people will leave it enabled to be able to quick troubleshoot. However, there is a security risk in having this left enabled.

You can also add drivers to your boot image in this tab, however if you have to add multiple drivers, it’s much easier to do this from the drivers node rather than selecting the drivers from here. Please keep in mind that the boot image is based upon Windows 7 and thus you will need Windows 7 drivers for the boot image, and for the appropriate architecture.
Adding from the Drivers node can be easier if you have multiple drivers, as you can select them all and then select “Add or Remove Drivers to Boot Images”

You would also see your custom background set here if you had previously set that in the wizard. Or you can change it here if ever needed.

Once you have made the appropriate changes, you will be prompted to update the boot images if required. I typically say “No” here and finish adding my drivers and any other changes I need, then add the boot image to the Distribution Points manually. Otherwise you can end up updating the boot image several times as you are making changes.

I will not cover adding the boot image to the Distribution Points in this guide as I assume you already have that knowledge. Keep in mind whenever drivers are added/removed you will have to recreate the boot image and update the DP’s.
In order to assign the boot image to a Task Sequence, we will need to go into the Task Sequence properties box.

Go to the “Advanced” tab:

Select “Browse”:

Pick our custom boot image we created:

Select “Ok”:

Select “Ok” again:

Manually modifying the boot image to add/remove/replace files
If you want to later add additional files to the boot image, this can be done using Imagex and the Deployment Tools Command Prompt (part of the Windows Automated Installation Toolkit aka WAIK).

Open up the command prompt:

Make a local directory to mount the image to, I generally use “C:\Mount”:

Next we will want to mount our image to that directory so we can add files to it. (DO NOT mount the WinPE.PackageID.WIM file)

You want to mount the “WinPE.Wim” using the command line:
Imagex /mountrw [path]\winpe.wim 1 [destination]
The “1” is the image index, if you need to use a different index, be sure to change that to the appropriate index.
If you just want to verify files in the image, you can use /mount instead (read-only) access.
Successfully mounted image:

Through explorer, we can see the files contained in the image now:

If we browse to windows\system32 we can see that our Trace32.exe is there now that we had included in our Extrafiles directory when we created the boot image:

Using explorer, you can add/remove any files you need to the c:\mount directory. Once completed, close explorer and return to your Deployment Tools command prompt.

To just unmount an image and discard any changes, use:
imagex /unmount [mountdir]
Example: imagex /unmount c:\mount
To save your changes, you need to commit the changes to the image and unmount the image. This can be done together using the following command:
imagex /commit /unmount [path]
Example: imagex /commit /unmount c:\mount
Once you have successfully unmounted the image, then be sure to update your Distribution Points to reflect the new changes you have made.

This will be a quick-start guide for integrating MDT 2010 Update 1 with ConfigMgr SP2/R2. This information is provided as-is.
This will be a three part series covering the Setup, Boot Images and Task Sequences.
Part 1: Setup
Part 2: Boot Images
Part 3: Task Sequences
If you want specific information on UDI (User Drive Installation) setup and components, then I would point you to one of my previous posts on UDI.
Installing the Microsoft Deployment Toolkit
First download the appropriate version of MDT from here:
MDT 2010 Update 1 Download
There are several places you could install MDT, however, I typically prefer/recommend that it’s installed on one of the ConfigMgr site servers, but you can install it on another server if that is your preference, the only requirement is having the ConfigMgr console installed on that system.
Locate the installation files you downloaded and launch the appropriate install file for the architecture of the server you are installing it on. This would be either “MicrosoftDeploymentToolkit2010_x64.msi” or “MicrosoftDeploymentToolkit2010_x86.msi”
On the main installation screen, click "Next”:

Click the checkbox to accept the license agreement, then click “Next”:

Review the features, you shouldn’t need to change anything, click “Next”:

On the final screen, click “Install”:

Once installed, click “Finish”:

Once installed, you have a new program group in your Start Menu:

Integrating with System Center Configuration Manager
To integrate with ConfigMgr, we will need to run the “Configure ConfigMgr Integration” program icon:

Once the wizard is launched, ensure the Site Server Name and Site Code match the site you want to install the integration for:

Then click “Next”:

You’ll see a summary and you should see “Operation Completed Successfully” listed:

Click on “Finish” to exit the wizard:

Open up your ConfigMgr console, and expand the “Operating System Deployment” node.

The integration of Microsoft Deployment Toolkit with ConfigMgr adds a new right-click option to both Boot Images and Task Sequences.
New option for creating Boot Images:

New option for creating Task Sequences:

That covers the basic installation, we’ll take a look at the new Boot Image and Task Sequences in the next few posts.
After completing this lab, you will be better able to install and configure System Center Configuration Manager 2007 Dashboard, create and Customize Data sets, and control access and configure Data Displays in System Center Configuration Manager Dashboard.
For all the details and to register click here.
Jeremy Chapman has created the second blog in a series on the benefits of using package based imaging tools.
Read the second post here.
“Welcome to blog number two in the series where we’ll look at file-based images versus sector-based images. We’ve already done the tools primer and defined the terms again in the last blog post. Now we actually get some real work done by comparing the “tried-and-true approach” of sector-based images that most of us (including me) have grown up with and the relatively newer approach of composing installations with “builds” at deploy time using file-based “core images” (I defined the terms in quotes in the first blog of the series in case you are wondering why I used quotes). Beware, this blog doesn’t have any pictures or pretty screenshots.”
This is always a good article to review for explaining whether you should enable client push and/or discoveries at Secondary Sites. I often refer to this post when people ask about whether or not they should enable discovery at a secondary site.
Read more here on Jeff Gilbert’s blog.
More Posts
Next page »